• Hongtao Zhang's avatar
    CI/CD - Fix setuptools-scm 10.x compatibility for Python 3.12 (#805) · 8c7e2be0
    Hongtao Zhang authored
    
    
    ## 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: default avatarHongtao Zhang <hongtaozhang@microsoft.com>
    8c7e2be0
setup.py 8.45 KB