CI/CD - Fix setuptools-scm 10.x compatibility for Python 3.12 (#805)
## Description
This affects all PRs running `python3 setup.py lint` on the Python 3.12
CI job.
## Root Cause
Comparing the last successful cpu-unit-test build (58939, Mar 25) with a
recent failing build (58996, Apr 14), the Python 3.12 "Install
dependencies" step shows:
| Package | Successful (Mar 25) | Failing (Apr 14) |
|---|---|---|
| `setuptools-scm` | < 10.0 (no `vcs-versioning` dep) | 10.0.5 (requires
`vcs-versioning`) |
`setuptools-scm` 10.0.5 was released between the two runs and added
`vcs-versioning` as a new dependency. The `setup_requires` mechanism in
`setup.py` does not install transitive dependencies, so `vcs-versioning`
is missing at runtime.
The successful build lint log (Python 3.12): "ModuleNotFoundError: No
module named 'vcs_versioning'"
This affects all PRs running `python3 setup.py lint` on the Python 3.12
CI job.
## Changes
- Add `vcs_versioning` explicitly to `setup_requires` in `setup.py` so
it is available when `setuptools-scm` is imported during `setup.py`
execution.
## Testing
Verified that `setuptools-scm` 10.0.5 declares `vcs-versioning` as a
dependency, and the CI failure matches the missing transitive dependency
pattern.
Co-authored-by:
Hongtao Zhang <hongtaozhang@microsoft.com>
Showing
Please register or sign in to comment