diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0a8c89ea..7948c964 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,6 +85,8 @@ jobs: defaults: run: working-directory: ./ + env: + PYTHONPATH: ${{ github.workspace }}/versioning/helper strategy: matrix: diff --git a/libraries/microsoft-agents-a365-notifications/pyproject.toml b/libraries/microsoft-agents-a365-notifications/pyproject.toml index be8511a1..8ec5d86b 100644 --- a/libraries/microsoft-agents-a365-notifications/pyproject.toml +++ b/libraries/microsoft-agents-a365-notifications/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-notifications" diff --git a/libraries/microsoft-agents-a365-observability-core/pyproject.toml b/libraries/microsoft-agents-a365-observability-core/pyproject.toml index 37740bf1..e86e51c3 100644 --- a/libraries/microsoft-agents-a365-observability-core/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-core/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-observability-core" diff --git a/libraries/microsoft-agents-a365-observability-extensions-agentframework/pyproject.toml b/libraries/microsoft-agents-a365-observability-extensions-agentframework/pyproject.toml index 45335204..924cd027 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-agentframework/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-extensions-agentframework/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-observability-extensions-agent-framework" diff --git a/libraries/microsoft-agents-a365-observability-extensions-langchain/pyproject.toml b/libraries/microsoft-agents-a365-observability-extensions-langchain/pyproject.toml index 4f8cbce4..7a6ebf27 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-langchain/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-extensions-langchain/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-observability-extensions-langchain" diff --git a/libraries/microsoft-agents-a365-observability-extensions-openai/pyproject.toml b/libraries/microsoft-agents-a365-observability-extensions-openai/pyproject.toml index 5c7a368e..604f5196 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-openai/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-extensions-openai/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-observability-extensions-openai" diff --git a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/pyproject.toml b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/pyproject.toml index ffaadcd7..8c898b98 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-observability-extensions-semantic-kernel" diff --git a/libraries/microsoft-agents-a365-observability-hosting/pyproject.toml b/libraries/microsoft-agents-a365-observability-hosting/pyproject.toml index 3b1aa46b..4c4ac387 100644 --- a/libraries/microsoft-agents-a365-observability-hosting/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-hosting/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-observability-hosting" diff --git a/libraries/microsoft-agents-a365-runtime/pyproject.toml b/libraries/microsoft-agents-a365-runtime/pyproject.toml index 8b3a739d..ebe7722b 100644 --- a/libraries/microsoft-agents-a365-runtime/pyproject.toml +++ b/libraries/microsoft-agents-a365-runtime/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-runtime" diff --git a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/pyproject.toml b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/pyproject.toml index d3b746a8..f149536d 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-tooling-extensions-agentframework" diff --git a/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/pyproject.toml b/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/pyproject.toml index 31c1dafe..5b040d25 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-tooling-extensions-azureaifoundry" diff --git a/libraries/microsoft-agents-a365-tooling-extensions-googleadk/pyproject.toml b/libraries/microsoft-agents-a365-tooling-extensions-googleadk/pyproject.toml index 3af61f81..e0b831ec 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-googleadk/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling-extensions-googleadk/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-tooling-extensions-googleadk" diff --git a/libraries/microsoft-agents-a365-tooling-extensions-openai/pyproject.toml b/libraries/microsoft-agents-a365-tooling-extensions-openai/pyproject.toml index 8c23fc27..1e118515 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-openai/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling-extensions-openai/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-tooling-extensions-openai" diff --git a/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/pyproject.toml b/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/pyproject.toml index b2264bb5..a3cdbca7 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-tooling-extensions-semantickernel" diff --git a/libraries/microsoft-agents-a365-tooling/pyproject.toml b/libraries/microsoft-agents-a365-tooling/pyproject.toml index f96287f1..0f0780d9 100644 --- a/libraries/microsoft-agents-a365-tooling/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" -backend-path = ["../../versioning/helper"] [project] name = "microsoft-agents-a365-tooling" diff --git a/versioning/helper/build_backend.py b/versioning/helper/build_backend.py index e92451b9..100696bf 100644 --- a/versioning/helper/build_backend.py +++ b/versioning/helper/build_backend.py @@ -5,15 +5,20 @@ Custom build backend that wraps setuptools.build_meta to inject centralized version constraints into published wheel metadata. -Note: backend-path references a directory outside the package. This is intentional -for monorepo wheel builds. Individual sdist publishing is not supported; packages -are published as wheels only from CI. +Note: Individual sdist publishing is not supported; packages are published as +wheels only from CI. Usage in package pyproject.toml: [build-system] - requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit"] + requires = ["setuptools>=68", "wheel", "tzdata", "tomlkit", "packaging"] build-backend = "build_backend" - backend-path = ["../../versioning/helper"] + +The build backend module is resolved via PYTHONPATH, which must include the +path to this directory (versioning/helper) when building. The CI pipeline sets +this automatically. For local builds, use 'uv build' from the repo root, or +set PYTHONPATH manually: + export PYTHONPATH="$(git rev-parse --show-toplevel)/versioning/helper:$PYTHONPATH" + python -m build --no-isolation --wheel """ from __future__ import annotations