From 66e01f134bb20bf24c37ecb271ae8261ea9d3829 Mon Sep 17 00:00:00 2001 From: Rodrigo Brandao Date: Wed, 26 Nov 2025 14:25:55 -0800 Subject: [PATCH 1/4] Writing version to file and reading it when building --- .azdo/ci-pr.yaml | 7 ++++++- libraries/microsoft-agents-activity/pyproject.toml | 2 +- libraries/microsoft-agents-activity/setup.py | 13 ++++++++++--- .../microsoft-agents-authentication-msal/setup.py | 11 +++++++++-- .../microsoft-agents-copilotstudio-client/setup.py | 11 +++++++++-- libraries/microsoft-agents-hosting-aiohttp/setup.py | 11 +++++++++-- libraries/microsoft-agents-hosting-core/setup.py | 11 +++++++++-- libraries/microsoft-agents-hosting-fastapi/setup.py | 11 +++++++++-- libraries/microsoft-agents-storage-blob/setup.py | 11 +++++++++-- libraries/microsoft-agents-storage-cosmos/setup.py | 11 +++++++++-- 10 files changed, 80 insertions(+), 19 deletions(-) diff --git a/.azdo/ci-pr.yaml b/.azdo/ci-pr.yaml index cf6e2ff8..0b8ea1e7 100644 --- a/.azdo/ci-pr.yaml +++ b/.azdo/ci-pr.yaml @@ -31,7 +31,7 @@ steps: - script: | python -m pip install --upgrade pip - python -m pip install flake8 pytest pytest-mock black pytest-asyncio build setuptools-git-versioning + python -m pip install flake8 pytest pytest-mock black pytest-asyncio build setuptools-git-versioning setuptools-scm[simple] if [ -f dev_dependencies.txt ]; then pip install -r dev_dependencies.txt; fi displayName: 'Install dependencies' @@ -52,6 +52,11 @@ steps: - script: | mkdir -p dist + for dir in libraries/*; do + if [ -f "$dir/pyproject.toml" ]; then + echo $(PackageVersion) > "$dir/VERSION.txt" + fi + done for dir in libraries/*; do if [ -f "$dir/pyproject.toml" ]; then (cd "$dir" && python -m build --outdir ../../dist) diff --git a/libraries/microsoft-agents-activity/pyproject.toml b/libraries/microsoft-agents-activity/pyproject.toml index 7d789103..76266428 100644 --- a/libraries/microsoft-agents-activity/pyproject.toml +++ b/libraries/microsoft-agents-activity/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=64"] +requires = ["setuptools>=64", "setuptools-scm[simple]>=8"] build-backend = "setuptools.build_meta" [project] diff --git a/libraries/microsoft-agents-activity/setup.py b/libraries/microsoft-agents-activity/setup.py index 9b6de9af..1abaf66b 100644 --- a/libraries/microsoft-agents-activity/setup.py +++ b/libraries/microsoft-agents-activity/setup.py @@ -1,8 +1,15 @@ -from os import environ +from os import environ, path from setuptools import setup -package_version = environ.get("PackageVersion", "0.0.0") +# Try to read from VERSION.txt file first, fall back to environment variable +package_version = "0.0.0" +version_file = path.join(path.dirname(__file__), "VERSION.txt") +if path.exists(version_file): + with open(version_file, "r") as f: + package_version = f.read().strip() +else: + package_version = environ.get("PackageVersion", "0.0.0") setup( version=package_version, -) +) \ No newline at end of file diff --git a/libraries/microsoft-agents-authentication-msal/setup.py b/libraries/microsoft-agents-authentication-msal/setup.py index 67315bcf..ae8161b2 100644 --- a/libraries/microsoft-agents-authentication-msal/setup.py +++ b/libraries/microsoft-agents-authentication-msal/setup.py @@ -1,7 +1,14 @@ -from os import environ +from os import environ, path from setuptools import setup -package_version = environ.get("PackageVersion", "0.0.0") +# Try to read from VERSION.txt file first, fall back to environment variable +package_version = "0.0.0" +version_file = path.join(path.dirname(__file__), "VERSION.txt") +if path.exists(version_file): + with open(version_file, "r") as f: + package_version = f.read().strip() +else: + package_version = environ.get("PackageVersion", "0.0.0") setup( version=package_version, diff --git a/libraries/microsoft-agents-copilotstudio-client/setup.py b/libraries/microsoft-agents-copilotstudio-client/setup.py index 41a7da0d..eb376eb0 100644 --- a/libraries/microsoft-agents-copilotstudio-client/setup.py +++ b/libraries/microsoft-agents-copilotstudio-client/setup.py @@ -1,7 +1,14 @@ -from os import environ +from os import environ, path from setuptools import setup -package_version = environ.get("PackageVersion", "0.0.0") +# Try to read from VERSION.txt file first, fall back to environment variable +package_version = "0.0.0" +version_file = path.join(path.dirname(__file__), "VERSION.txt") +if path.exists(version_file): + with open(version_file, "r") as f: + package_version = f.read().strip() +else: + package_version = environ.get("PackageVersion", "0.0.0") setup( version=package_version, diff --git a/libraries/microsoft-agents-hosting-aiohttp/setup.py b/libraries/microsoft-agents-hosting-aiohttp/setup.py index 426735ba..20724a1a 100644 --- a/libraries/microsoft-agents-hosting-aiohttp/setup.py +++ b/libraries/microsoft-agents-hosting-aiohttp/setup.py @@ -1,7 +1,14 @@ -from os import environ +from os import environ, path from setuptools import setup -package_version = environ.get("PackageVersion", "0.0.0") +# Try to read from VERSION.txt file first, fall back to environment variable +package_version = "0.0.0" +version_file = path.join(path.dirname(__file__), "VERSION.txt") +if path.exists(version_file): + with open(version_file, "r") as f: + package_version = f.read().strip() +else: + package_version = environ.get("PackageVersion", "0.0.0") setup( version=package_version, diff --git a/libraries/microsoft-agents-hosting-core/setup.py b/libraries/microsoft-agents-hosting-core/setup.py index e7604116..e16c3432 100644 --- a/libraries/microsoft-agents-hosting-core/setup.py +++ b/libraries/microsoft-agents-hosting-core/setup.py @@ -1,7 +1,14 @@ -from os import environ +from os import environ, path from setuptools import setup -package_version = environ.get("PackageVersion", "0.0.0") +# Try to read from VERSION.txt file first, fall back to environment variable +package_version = "0.0.0" +version_file = path.join(path.dirname(__file__), "VERSION.txt") +if path.exists(version_file): + with open(version_file, "r") as f: + package_version = f.read().strip() +else: + package_version = environ.get("PackageVersion", "0.0.0") setup( version=package_version, diff --git a/libraries/microsoft-agents-hosting-fastapi/setup.py b/libraries/microsoft-agents-hosting-fastapi/setup.py index cfcb460b..2681ab85 100644 --- a/libraries/microsoft-agents-hosting-fastapi/setup.py +++ b/libraries/microsoft-agents-hosting-fastapi/setup.py @@ -1,7 +1,14 @@ -from os import environ +from os import environ, path from setuptools import setup -package_version = environ.get("PackageVersion", "0.0.0") +# Try to read from VERSION.txt file first, fall back to environment variable +package_version = "0.0.0" +version_file = path.join(path.dirname(__file__), "VERSION.txt") +if path.exists(version_file): + with open(version_file, "r") as f: + package_version = f.read().strip() +else: + package_version = environ.get("PackageVersion", "0.0.0") setup( version=package_version, diff --git a/libraries/microsoft-agents-storage-blob/setup.py b/libraries/microsoft-agents-storage-blob/setup.py index d38c25bb..b8bbbbf1 100644 --- a/libraries/microsoft-agents-storage-blob/setup.py +++ b/libraries/microsoft-agents-storage-blob/setup.py @@ -1,7 +1,14 @@ -from os import environ +from os import environ, path from setuptools import setup -package_version = environ.get("PackageVersion", "0.0.0") +# Try to read from VERSION.txt file first, fall back to environment variable +package_version = "0.0.0" +version_file = path.join(path.dirname(__file__), "VERSION.txt") +if path.exists(version_file): + with open(version_file, "r") as f: + package_version = f.read().strip() +else: + package_version = environ.get("PackageVersion", "0.0.0") setup( version=package_version, diff --git a/libraries/microsoft-agents-storage-cosmos/setup.py b/libraries/microsoft-agents-storage-cosmos/setup.py index 8f09a0d2..8ad946a5 100644 --- a/libraries/microsoft-agents-storage-cosmos/setup.py +++ b/libraries/microsoft-agents-storage-cosmos/setup.py @@ -1,7 +1,14 @@ -from os import environ +from os import environ, path from setuptools import setup -package_version = environ.get("PackageVersion", "0.0.0") +# Try to read from VERSION.txt file first, fall back to environment variable +package_version = "0.0.0" +version_file = path.join(path.dirname(__file__), "VERSION.txt") +if path.exists(version_file): + with open(version_file, "r") as f: + package_version = f.read().strip() +else: + package_version = environ.get("PackageVersion", "0.0.0") setup( version=package_version, From def232b1f7d1749b3fe94891f1ab7860e9db5706 Mon Sep 17 00:00:00 2001 From: Rodrigo Brandao Date: Wed, 26 Nov 2025 14:29:41 -0800 Subject: [PATCH 2/4] Fixing issue --- .azdo/ci-pr.yaml | 2 +- libraries/microsoft-agents-activity/pyproject.toml | 2 +- libraries/microsoft-agents-activity/setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.azdo/ci-pr.yaml b/.azdo/ci-pr.yaml index 0b8ea1e7..ad3b3112 100644 --- a/.azdo/ci-pr.yaml +++ b/.azdo/ci-pr.yaml @@ -31,7 +31,7 @@ steps: - script: | python -m pip install --upgrade pip - python -m pip install flake8 pytest pytest-mock black pytest-asyncio build setuptools-git-versioning setuptools-scm[simple] + python -m pip install flake8 pytest pytest-mock black pytest-asyncio build setuptools-git-versioning if [ -f dev_dependencies.txt ]; then pip install -r dev_dependencies.txt; fi displayName: 'Install dependencies' diff --git a/libraries/microsoft-agents-activity/pyproject.toml b/libraries/microsoft-agents-activity/pyproject.toml index 76266428..7d789103 100644 --- a/libraries/microsoft-agents-activity/pyproject.toml +++ b/libraries/microsoft-agents-activity/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=64", "setuptools-scm[simple]>=8"] +requires = ["setuptools>=64"] build-backend = "setuptools.build_meta" [project] diff --git a/libraries/microsoft-agents-activity/setup.py b/libraries/microsoft-agents-activity/setup.py index 1abaf66b..da3dcb18 100644 --- a/libraries/microsoft-agents-activity/setup.py +++ b/libraries/microsoft-agents-activity/setup.py @@ -12,4 +12,4 @@ setup( version=package_version, -) \ No newline at end of file +) From 60479296311fd4a8f06c76f060c9be7e151f7395 Mon Sep 17 00:00:00 2001 From: Rodrigo Brandao Date: Wed, 26 Nov 2025 14:33:27 -0800 Subject: [PATCH 3/4] Removed unnecessary declaration --- .../microsoft-agents-authentication-msal/setup.py | 1 - .../microsoft-agents-copilotstudio-client/setup.py | 1 - libraries/microsoft-agents-hosting-aiohttp/setup.py | 1 - libraries/microsoft-agents-hosting-core/setup.py | 1 - libraries/microsoft-agents-hosting-fastapi/setup.py | 1 - libraries/microsoft-agents-hosting-teams/setup.py | 10 ++++++++-- libraries/microsoft-agents-storage-blob/setup.py | 1 - libraries/microsoft-agents-storage-cosmos/setup.py | 1 - 8 files changed, 8 insertions(+), 9 deletions(-) diff --git a/libraries/microsoft-agents-authentication-msal/setup.py b/libraries/microsoft-agents-authentication-msal/setup.py index ae8161b2..d459fc3b 100644 --- a/libraries/microsoft-agents-authentication-msal/setup.py +++ b/libraries/microsoft-agents-authentication-msal/setup.py @@ -2,7 +2,6 @@ from setuptools import setup # Try to read from VERSION.txt file first, fall back to environment variable -package_version = "0.0.0" version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): with open(version_file, "r") as f: diff --git a/libraries/microsoft-agents-copilotstudio-client/setup.py b/libraries/microsoft-agents-copilotstudio-client/setup.py index eb376eb0..47406ddd 100644 --- a/libraries/microsoft-agents-copilotstudio-client/setup.py +++ b/libraries/microsoft-agents-copilotstudio-client/setup.py @@ -2,7 +2,6 @@ from setuptools import setup # Try to read from VERSION.txt file first, fall back to environment variable -package_version = "0.0.0" version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): with open(version_file, "r") as f: diff --git a/libraries/microsoft-agents-hosting-aiohttp/setup.py b/libraries/microsoft-agents-hosting-aiohttp/setup.py index 20724a1a..a8b5055c 100644 --- a/libraries/microsoft-agents-hosting-aiohttp/setup.py +++ b/libraries/microsoft-agents-hosting-aiohttp/setup.py @@ -2,7 +2,6 @@ from setuptools import setup # Try to read from VERSION.txt file first, fall back to environment variable -package_version = "0.0.0" version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): with open(version_file, "r") as f: diff --git a/libraries/microsoft-agents-hosting-core/setup.py b/libraries/microsoft-agents-hosting-core/setup.py index e16c3432..e1de0063 100644 --- a/libraries/microsoft-agents-hosting-core/setup.py +++ b/libraries/microsoft-agents-hosting-core/setup.py @@ -2,7 +2,6 @@ from setuptools import setup # Try to read from VERSION.txt file first, fall back to environment variable -package_version = "0.0.0" version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): with open(version_file, "r") as f: diff --git a/libraries/microsoft-agents-hosting-fastapi/setup.py b/libraries/microsoft-agents-hosting-fastapi/setup.py index 2681ab85..2505791b 100644 --- a/libraries/microsoft-agents-hosting-fastapi/setup.py +++ b/libraries/microsoft-agents-hosting-fastapi/setup.py @@ -2,7 +2,6 @@ from setuptools import setup # Try to read from VERSION.txt file first, fall back to environment variable -package_version = "0.0.0" version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): with open(version_file, "r") as f: diff --git a/libraries/microsoft-agents-hosting-teams/setup.py b/libraries/microsoft-agents-hosting-teams/setup.py index 426735ba..a8b5055c 100644 --- a/libraries/microsoft-agents-hosting-teams/setup.py +++ b/libraries/microsoft-agents-hosting-teams/setup.py @@ -1,7 +1,13 @@ -from os import environ +from os import environ, path from setuptools import setup -package_version = environ.get("PackageVersion", "0.0.0") +# Try to read from VERSION.txt file first, fall back to environment variable +version_file = path.join(path.dirname(__file__), "VERSION.txt") +if path.exists(version_file): + with open(version_file, "r") as f: + package_version = f.read().strip() +else: + package_version = environ.get("PackageVersion", "0.0.0") setup( version=package_version, diff --git a/libraries/microsoft-agents-storage-blob/setup.py b/libraries/microsoft-agents-storage-blob/setup.py index b8bbbbf1..3e6df60b 100644 --- a/libraries/microsoft-agents-storage-blob/setup.py +++ b/libraries/microsoft-agents-storage-blob/setup.py @@ -2,7 +2,6 @@ from setuptools import setup # Try to read from VERSION.txt file first, fall back to environment variable -package_version = "0.0.0" version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): with open(version_file, "r") as f: diff --git a/libraries/microsoft-agents-storage-cosmos/setup.py b/libraries/microsoft-agents-storage-cosmos/setup.py index 8ad946a5..513575bd 100644 --- a/libraries/microsoft-agents-storage-cosmos/setup.py +++ b/libraries/microsoft-agents-storage-cosmos/setup.py @@ -2,7 +2,6 @@ from setuptools import setup # Try to read from VERSION.txt file first, fall back to environment variable -package_version = "0.0.0" version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): with open(version_file, "r") as f: From 12ac42955e34d85839f26e7a1373a5d1ba72306d Mon Sep 17 00:00:00 2001 From: Rodrigo Brandao Date: Wed, 26 Nov 2025 14:41:20 -0800 Subject: [PATCH 4/4] Specifying encoding --- libraries/microsoft-agents-activity/setup.py | 3 +-- libraries/microsoft-agents-authentication-msal/setup.py | 2 +- libraries/microsoft-agents-copilotstudio-client/setup.py | 2 +- libraries/microsoft-agents-hosting-aiohttp/setup.py | 2 +- libraries/microsoft-agents-hosting-core/setup.py | 2 +- libraries/microsoft-agents-hosting-fastapi/setup.py | 2 +- libraries/microsoft-agents-hosting-teams/setup.py | 2 +- libraries/microsoft-agents-storage-blob/setup.py | 2 +- libraries/microsoft-agents-storage-cosmos/setup.py | 2 +- 9 files changed, 9 insertions(+), 10 deletions(-) diff --git a/libraries/microsoft-agents-activity/setup.py b/libraries/microsoft-agents-activity/setup.py index da3dcb18..c46ba05d 100644 --- a/libraries/microsoft-agents-activity/setup.py +++ b/libraries/microsoft-agents-activity/setup.py @@ -2,10 +2,9 @@ from setuptools import setup # Try to read from VERSION.txt file first, fall back to environment variable -package_version = "0.0.0" version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): - with open(version_file, "r") as f: + with open(version_file, "r", encoding="utf-8") as f: package_version = f.read().strip() else: package_version = environ.get("PackageVersion", "0.0.0") diff --git a/libraries/microsoft-agents-authentication-msal/setup.py b/libraries/microsoft-agents-authentication-msal/setup.py index d459fc3b..6b4e9860 100644 --- a/libraries/microsoft-agents-authentication-msal/setup.py +++ b/libraries/microsoft-agents-authentication-msal/setup.py @@ -4,7 +4,7 @@ # Try to read from VERSION.txt file first, fall back to environment variable version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): - with open(version_file, "r") as f: + with open(version_file, "r", encoding="utf-8") as f: package_version = f.read().strip() else: package_version = environ.get("PackageVersion", "0.0.0") diff --git a/libraries/microsoft-agents-copilotstudio-client/setup.py b/libraries/microsoft-agents-copilotstudio-client/setup.py index 47406ddd..53449889 100644 --- a/libraries/microsoft-agents-copilotstudio-client/setup.py +++ b/libraries/microsoft-agents-copilotstudio-client/setup.py @@ -4,7 +4,7 @@ # Try to read from VERSION.txt file first, fall back to environment variable version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): - with open(version_file, "r") as f: + with open(version_file, "r", encoding="utf-8") as f: package_version = f.read().strip() else: package_version = environ.get("PackageVersion", "0.0.0") diff --git a/libraries/microsoft-agents-hosting-aiohttp/setup.py b/libraries/microsoft-agents-hosting-aiohttp/setup.py index a8b5055c..f7a4e1bb 100644 --- a/libraries/microsoft-agents-hosting-aiohttp/setup.py +++ b/libraries/microsoft-agents-hosting-aiohttp/setup.py @@ -4,7 +4,7 @@ # Try to read from VERSION.txt file first, fall back to environment variable version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): - with open(version_file, "r") as f: + with open(version_file, "r", encoding="utf-8") as f: package_version = f.read().strip() else: package_version = environ.get("PackageVersion", "0.0.0") diff --git a/libraries/microsoft-agents-hosting-core/setup.py b/libraries/microsoft-agents-hosting-core/setup.py index e1de0063..b1da90cf 100644 --- a/libraries/microsoft-agents-hosting-core/setup.py +++ b/libraries/microsoft-agents-hosting-core/setup.py @@ -4,7 +4,7 @@ # Try to read from VERSION.txt file first, fall back to environment variable version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): - with open(version_file, "r") as f: + with open(version_file, "r", encoding="utf-8") as f: package_version = f.read().strip() else: package_version = environ.get("PackageVersion", "0.0.0") diff --git a/libraries/microsoft-agents-hosting-fastapi/setup.py b/libraries/microsoft-agents-hosting-fastapi/setup.py index 2505791b..a8e569b4 100644 --- a/libraries/microsoft-agents-hosting-fastapi/setup.py +++ b/libraries/microsoft-agents-hosting-fastapi/setup.py @@ -4,7 +4,7 @@ # Try to read from VERSION.txt file first, fall back to environment variable version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): - with open(version_file, "r") as f: + with open(version_file, "r", encoding="utf-8") as f: package_version = f.read().strip() else: package_version = environ.get("PackageVersion", "0.0.0") diff --git a/libraries/microsoft-agents-hosting-teams/setup.py b/libraries/microsoft-agents-hosting-teams/setup.py index a8b5055c..f7a4e1bb 100644 --- a/libraries/microsoft-agents-hosting-teams/setup.py +++ b/libraries/microsoft-agents-hosting-teams/setup.py @@ -4,7 +4,7 @@ # Try to read from VERSION.txt file first, fall back to environment variable version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): - with open(version_file, "r") as f: + with open(version_file, "r", encoding="utf-8") as f: package_version = f.read().strip() else: package_version = environ.get("PackageVersion", "0.0.0") diff --git a/libraries/microsoft-agents-storage-blob/setup.py b/libraries/microsoft-agents-storage-blob/setup.py index 3e6df60b..8fba7f42 100644 --- a/libraries/microsoft-agents-storage-blob/setup.py +++ b/libraries/microsoft-agents-storage-blob/setup.py @@ -4,7 +4,7 @@ # Try to read from VERSION.txt file first, fall back to environment variable version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): - with open(version_file, "r") as f: + with open(version_file, "r", encoding="utf-8") as f: package_version = f.read().strip() else: package_version = environ.get("PackageVersion", "0.0.0") diff --git a/libraries/microsoft-agents-storage-cosmos/setup.py b/libraries/microsoft-agents-storage-cosmos/setup.py index 513575bd..f51a394f 100644 --- a/libraries/microsoft-agents-storage-cosmos/setup.py +++ b/libraries/microsoft-agents-storage-cosmos/setup.py @@ -4,7 +4,7 @@ # Try to read from VERSION.txt file first, fall back to environment variable version_file = path.join(path.dirname(__file__), "VERSION.txt") if path.exists(version_file): - with open(version_file, "r") as f: + with open(version_file, "r", encoding="utf-8") as f: package_version = f.read().strip() else: package_version = environ.get("PackageVersion", "0.0.0")