Repository navigation
Migrate checks away from tox, reflect in azsdkcli python tool #42601
Copy link
Copy link
Closed
Copy link
Labels
EngSysThis issue is impacting the engineering system.This issue is impacting the engineering system.
Description
Activity
- addedneeds-triageWorkflow: This is a new issue that needs to be triaged to the appropriate team.Workflow: This is a new issue that needs to be triaged to the appropriate team.
on Aug 19, 2025 - Loading
flowchart TD %% Entrypoints A1[CI: dispatch_check.py] -->|packages × checks| B[Create venvs per package+check] A2[Local: azpysdk whl] --> D1[User-provided venv] %% Dispatch flow B --> B1[Install azure-sdk-tools into venv] B1 --> B2[Call venv/bin/python -m azpysdk whl <args>] B2 --> C[azpysdk whl check] %% azpysdk workflow C --> C1[Install package - use prebuilt if provided] C --> C2[Install dev requirements] C --> C3[Install test requirements] C --> C4[Run pytest] C --> C5[Report result] %% Local usage path A2 --> C D1 --> C - removedneeds-triageWorkflow: This is a new issue that needs to be triaged to the appropriate team.Workflow: This is a new issue that needs to be triaged to the appropriate team.
on Aug 20, 2025 - added a sub-issue
on Sep 5, 2025 - addedEngSysThis issue is impacting the engineering system.This issue is impacting the engineering system.
on Sep 8, 2025 - added a sub-issue
on Sep 17, 2025 - locked and limited conversation to collaborators
on May 12, 2026
Metadata
Metadata
Labels
EngSysThis issue is impacting the engineering system.This issue is impacting the engineering system.
Type
Projects
- StatusShow more project fields🎊 Closed
toxoffers some very nice features that we rely upon heavily for our CI and local testing:But that's about all of the features that we utilize at this time. The actual sets of commands being invoked are transferrable to another format. This issue will serve as the index for this effort. We will utilize
uvfor package management in this new world, but otherwise will not take an external dependency for the invocation framework.Expected outcome experience
We have a fully documented and implemented check system that interacts properly with CI and local invocations.
A check invoked for a specific package:
A check invoked for multiple packages:
Tasks
(In rough order of operations)
azpysdkentrypointscbeddcompleted an original prototype of usinguv-script(Prototypeuvscripttoxreplacement #41775), but we have decided not to take that dependency at this time. We are clear to utilizeuvto install packages however.uv, so we can only use it for package-management at this time.uv-scriptis out, we need to devise our own entrypoint.venvusage in pipeline #42486 updated our core pipelines to utilizeuvwhile installing requirements before invoking CI. We can fallback topipat any time.dispatch_tox. Likely name thisdispatch_check. It should be the entrypoint for anycheckthat CI utilizes. It should support all required arguments + requirement replacement that CI currently does.mypycheck in CI #42831pip install requirementduplication present across template calls withinanalyze.yml.mypycheck in CI #42831toxchecks to new script methodology each of these should have the actual. All new checks should utilize theloggerfromci_tools.logging. An example migration will be shown in Bug :azure-ai-projects==1.2.0b1 will pointing to azure-ai-agents==1.1.0 latest version which is causing the Cannot import name "RequiredMcpToolCall" from "azure.ai.agents.models" #42381tox_helper_tasks.pyinstall_dev_build_dependencyscriptsdk_verify_keywordsentrypoint in azure-sdk-tools is removedgenerate_client.pyscript in azure-sdk-tools is removed, as well as a few entrypointssample_guide.md)test_run_samples.pyrun_optional.pytestpublishing after each environment is updated. Ensure we don't lose testResults.xml outputs.dispatch_tox.pyare supported bydispatch_checks.py. Identify any necessary missing support for test execution.nightly alphaversioning still works after the change of all test envsazsdkclipython language service to call into the new check stylecopilot-instructionsthat reflect usage methodology for the new checks, venv utilization, requirements installation, etc.