Remove tox infrastructure and rename legacy tox references#46579
Merged
scbedd merged 9 commits intoAzure:mainfrom May 8, 2026
Merged
Remove tox infrastructure and rename legacy tox references#46579scbedd merged 9 commits intoAzure:mainfrom
scbedd merged 9 commits intoAzure:mainfrom
Conversation
- Delete entire eng/tox/ directory (tox.ini, toxfile.py, and all legacy check scripts that were only invoked via tox environments) - Relocate actively-used scripts (run_coverage.py, verify_installed_packages.py) to eng/scripts/ and update references in azpysdk - Remove unused ToxEnvParallel pipeline parameter from all YAML templates - Rename UnsupportedToxEnvironments to UnsupportedChecks in pipeline YAML and platform-matrix JSON files - Rename TOX_PIP_IMPL to AZPYSDK_PIP_IMPL in pipeline YAML and GitHub Actions, with backward-compatible fallback to TOX_PIP_IMPL in Python code - Update comments and docstrings referencing tox across the codebase - Keep .tox path exclusions in pytest/lint configs (users may have old dirs) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…x script The get_build_info function was referencing eng/tox/run_pylint.py which no longer exists. Updated to parse the dispatch_checks.py grouped log format (##[group] markers) from the 'Run Tests' CI task instead of the old tox 'Run Pylint Next' task. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The weekly analysis pipeline (python-analyze-weekly.yml) uses 'Run Pylint Next' as the task displayName, not 'Run Tests'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR completes the repo-wide migration from tox-based CI orchestration to azpysdk by removing the legacy eng/tox/ infrastructure, relocating the few still-used helper scripts, and renaming remaining “tox” references (variables, comments, and docs) to “checks” / azpysdk.
Changes:
- Removed the entire
eng/tox/directory (tox config/plugin and legacy check runner scripts). - Renamed pipeline/platform-matrix skip metadata from
UnsupportedToxEnvironmentstoUnsupportedChecksand updated pipeline templates accordingly. - Switched pip-backend environment variable naming from
TOX_PIP_IMPLtoAZPYSDK_PIP_IMPL(with Python-side fallback to the legacy name) and relocated coverage / installed-package verification helpers intoeng/scripts/.
Reviewed changes
Copilot reviewed 44 out of 46 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/identity/platform-matrix.json | Renames skip metadata key to UnsupportedChecks. |
| sdk/evaluation/platform-matrix.json | Renames skip metadata key to UnsupportedChecks. |
| scripts/devops_tasks/verify_autorest.py | Updates comment to remove tox-related wording. |
| scripts/devops_tasks/create_coverage.py | Renames collect_tox_coverage_files() to collect_coverage_files() and updates logging/call site. |
| eng/tox/verify_whl.py | Deleted legacy tox wheel verification script. |
| eng/tox/verify_sdist.py | Deleted legacy tox sdist verification script. |
| eng/tox/try_import.py | Deleted legacy tox “try import” helper. |
| eng/tox/toxfile.py | Deleted tox plugin file. |
| eng/tox/tox.ini | Deleted tox configuration. |
| eng/tox/tox_helper_tasks.py | Deleted tox helper utilities. |
| eng/tox/sanitize_setup.py | Deleted legacy tox setup sanitizer. |
| eng/tox/run_verifytypes.py | Deleted legacy tox verifytypes runner. |
| eng/tox/run_sphinx_build.py | Deleted legacy tox sphinx build runner. |
| eng/tox/run_sphinx_apidoc.py | Deleted legacy tox sphinx apidoc runner. |
| eng/tox/run_pyright.py | Deleted legacy tox pyright runner. |
| eng/tox/run_pylint.py | Deleted legacy tox pylint runner. |
| eng/tox/run_optional.py | Deleted legacy tox optional-check runner. |
| eng/tox/run_mypy.py | Deleted legacy tox mypy runner. |
| eng/tox/run_black.py | Deleted legacy tox black runner. |
| eng/tox/run_bandit.py | Deleted legacy tox bandit runner. |
| eng/tox/run_apistubgen.py | Deleted legacy tox apistub generator runner. |
| eng/tox/prep_sphinx_env.py | Deleted legacy tox sphinx prep script. |
| eng/tox/install_dev_build_dependency.py | Deleted legacy tox dev-feed dependency installer. |
| eng/tox/install_depend_packages.py | Deleted legacy tox dependency-resolution entrypoint. |
| eng/tox/import_all.py | Deleted legacy tox import-all runner. |
| eng/tox/create_package_and_install.py | Deleted legacy tox package build/install entrypoint. |
| eng/tox/create_dependencies_and_install.py | Deleted legacy tox dependency build/install entrypoint. |
| eng/tools/azure-sdk-tools/gh_tools/update_issue.py | Updates issue updater to parse next-pylint output from grouped CI logs; adjusts docstrings. |
| eng/tools/azure-sdk-tools/devtools_testutils/proxy_startup.py | Rewords comment to “check parallelization” (tox → checks). |
| eng/tools/azure-sdk-tools/ci_tools/venv.py | Implements AZPYSDK_PIP_IMPL selection with fallback to TOX_PIP_IMPL. |
| eng/tools/azure-sdk-tools/ci_tools/scenario/generation.py | Updates doc wording from tox runs to checks. |
| eng/tools/azure-sdk-tools/ci_tools/scenario/dependency_resolution.py | Updates module docstring to remove legacy tox entrypoint wording. |
| eng/tools/azure-sdk-tools/ci_tools/functions.py | Updates doc wording and reference comment to match current check runner architecture. |
| eng/tools/azure-sdk-tools/azpysdk/proxy_ports.py | Updates module docs to remove tox.ini mirroring language and align with check naming. |
| eng/tools/azure-sdk-tools/azpysdk/main.py | Defaults AZPYSDK_PIP_IMPL to uv when available; updates error text and env lookups. |
| eng/tools/azure-sdk-tools/azpysdk/install_and_test.py | Updates coverage and comments to use relocated eng/scripts/run_coverage.py. |
| eng/tools/azure-sdk-tools/azpysdk/dependency_check.py | Updates to use relocated eng/scripts/verify_installed_packages.py. |
| eng/scripts/verify_installed_packages.py | New location for installed package version verifier; adds PEP 503 name normalization. |
| eng/scripts/run_coverage.py | New location for coverage enforcement/metric emission helper. |
| eng/scripts/Language-Settings.ps1 | Updates TODO comment to remove tox reference. |
| eng/pipelines/templates/steps/build-test.yml | Removes unused ToxEnvParallel, renames unsupported list var, switches env var to AZPYSDK_PIP_IMPL. |
| eng/pipelines/templates/stages/archetype-sdk-client.yml | Removes ToxEnvParallel parameter passthrough. |
| eng/pipelines/templates/jobs/ci.yml | Removes ToxEnvParallel, renames UnsupportedToxEnvironments to UnsupportedChecks. |
| eng/pipelines/templates/jobs/ci.tests.yml | Removes ToxEnvParallel, renames UnsupportedToxEnvironments to UnsupportedChecks. |
| conda/conda_helper_functions.py | Updates comment to remove .tox mention. |
| .github/workflows/azure-sdk-tools.yml | Updates workflow env var to AZPYSDK_PIP_IMPL. |
scbedd
approved these changes
May 6, 2026
Member
scbedd
left a comment
There was a problem hiding this comment.
Lets double check the artifacts at the end. Nothing is jumping out at me here though.
- Verify that
testresults still publish - Verify that
coverageresults still publish
Member
Author
scbedd
approved these changes
May 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes all tox infrastructure and renames legacy tox references throughout the repo, completing the migration to azpysdk.
Changes
Deleted:
eng/tox/directory (25 files, ~2800 lines) includingtox.ini,toxfile.py, and all legacy check scriptsRelocated:
eng/tox/run_coverage.py→eng/scripts/run_coverage.py(still actively used by azpysdk)eng/tox/verify_installed_packages.py→eng/scripts/verify_installed_packages.py(still actively used by azpysdk)Renamed variables:
ToxEnvParallelpipeline parameter → removed (was unused)UnsupportedToxEnvironments→UnsupportedChecksin pipeline YAML and platform-matrix JSON filesTOX_PIP_IMPL→AZPYSDK_PIP_IMPLin pipeline YAML and GitHub Actions (Python code falls back toTOX_PIP_IMPLfor backward compatibility)Updated comments/docstrings across ~15 files to remove tox references
Preserved
.toxpath exclusions in pytest/lint configs (users may have old local.toxdirectories)