Skip to content

Conversation

@scbedd
Copy link
Member

@scbedd scbedd commented Nov 5, 2025

Context. I'm trying to unblock #43771 . In that PR, there is a package that does not support 3.9. We build on python 3.9. By default, our common package discovery function will filter packages that are not compatible with the running interpreter. This means that the package in #43771 isn't compatible with build, which is obviously a blocker.

The devs on that PR rightly identified that they could override the TEST_COMPATIBILITY_MAP to FORCE the common discovery to find their package, but are now blocked on the fact that the package is incompatible with python 3.9 but still running on 3.9 because of their override of the TEST_COMPATIBILITY_MAP to build the package.

To address their issue, I am making build and analyze phases totally ignore the running interpreter as far as filtering packages during discovery. I'm doing that by adding a new parameter where one wasn't necessary before.

Once this PR merges, #43771 will merely need to remove their TEST_COMPATIBILITY_MAP changes and should be unblocked.

Verification builds:

@scbedd scbedd self-assigned this Nov 5, 2025
Copilot AI review requested due to automatic review settings November 5, 2025 23:18
@scbedd scbedd changed the title Build/Analyze ignore package compatbility Build/Analyze ignore package compatibility Nov 5, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new --disable-compatibility-filter flag to control package compatibility filtering during package discovery in CI/CD pipelines. The flag allows static analysis checks (pylint, mypy, pyright, black, bandit, breaking changes, and verification tasks) to run on all packages regardless of Python version compatibility.

Key changes:

  • Added --disable-compatibility-filter command-line argument to dispatch scripts
  • Modified pipeline YAML files to use the new flag for static analysis and verification steps
  • Changed build.py to explicitly disable compatibility filtering (hard-coded to False)

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
scripts/devops_tasks/dispatch_tox.py Added --disable-compatibility-filter argument with logic to control compatibility filtering based on filter type and new flag
eng/tools/azure-sdk-tools/ci_tools/build.py Changed compatibility_filter from True to False for build package discovery
eng/scripts/dispatch_checks.py Added --disable-compatibility-filter argument with same logic pattern as dispatch_tox.py
eng/pipelines/templates/steps/run_pyright.yml Added --disable-compatibility-filter flag to pyright and verifytypes commands
eng/pipelines/templates/steps/run_pylint.yml Added --disable-compatibility-filter flag to pylint check command
eng/pipelines/templates/steps/run_mypy.yml Added --disable-compatibility-filter flag to mypy check command
eng/pipelines/templates/steps/run_breaking_changes.yml Added --disable-compatibility-filter flag to breaking changes check command
eng/pipelines/templates/steps/run_black.yml Added --disable-compatibility-filter flag to black check command
eng/pipelines/templates/steps/run_bandit.yml Added --disable-compatibility-filter flag to bandit check command
eng/pipelines/templates/steps/analyze.yml Added --disable-compatibility-filter flag to verifysdist, verifywhl, and verify_keywords commands

@scbedd scbedd moved this from 🤔 Triage to 🔬 Dev in PR in Azure SDK EngSys 🍔🌭 Nov 5, 2025
Copy link
Member

@lmazuel lmazuel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because I trust @scbedd :)

@scbedd
Copy link
Member Author

scbedd commented Nov 6, 2025

/check-enforcer evaluate

@scbedd scbedd merged commit 584e975 into main Nov 6, 2025
80 of 85 checks passed
@scbedd scbedd deleted the adjustments-to-build branch November 6, 2025 19:10
@kurtzeborn kurtzeborn moved this from 🔬 Dev in PR to 🎊 Closed in Azure SDK EngSys 🍔🌭 Nov 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🎊 Closed

Development

Successfully merging this pull request may close these issues.

4 participants