fix(tests): install azure-mgmt-authorization in dev to unblock Release#311
Merged
Conversation
The unit test `test_list_role_definition_ids_extracts_guid_suffix` patches `azure.mgmt.authorization.AuthorizationManagementClient` via `unittest.mock.patch` (string form), which requires the package to be importable in the test environment. The `Release` workflow's reusable `_build.yml` and `ci.yml` both run `uv sync --group dev`, but `azure-mgmt-authorization` was only declared under the `agent` optional-dependencies extra, not under the `dev` group. CI therefore hit `AttributeError: module 'azure' has no attribute 'mgmt'` (release build, where `azure.mgmt` namespace is partially populated by other `azure-mgmt-*` deps) or `ModuleNotFoundError: No module named 'azure.mgmt'` (PR CI, where no `azure-mgmt-*` is installed at all), breaking the `Release` workflow for v0.4.0 and v0.4.1. Adding `azure-mgmt-authorization` to the `dev` group makes the package available wherever the test suite runs, mirroring the `agent` extra where it is already a runtime dependency. No change to `src/` runtime code. `uv lock` also picks up develop's already-merged dependabot bumps (`azure-mgmt-cognitiveservices<15`, `azure-monitor-query<3`, `pandas<4`). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
e5df639 to
d32a56d
Compare
placerda
added a commit
that referenced
this pull request
Jun 15, 2026
#311) (#312) The unit test `test_list_role_definition_ids_extracts_guid_suffix` patches `azure.mgmt.authorization.AuthorizationManagementClient` via `unittest.mock.patch` (string form), which requires the package to be importable in the test environment. The `Release` workflow's reusable `_build.yml` and `ci.yml` both run `uv sync --group dev`, but `azure-mgmt-authorization` was only declared under the `agent` optional-dependencies extra, not under the `dev` group. CI therefore hit `AttributeError: module 'azure' has no attribute 'mgmt'` (release build, where `azure.mgmt` namespace is partially populated by other `azure-mgmt-*` deps) or `ModuleNotFoundError: No module named 'azure.mgmt'` (PR CI, where no `azure-mgmt-*` is installed at all), breaking the `Release` workflow for v0.4.0 and v0.4.1. Adding `azure-mgmt-authorization` to the `dev` group makes the package available wherever the test suite runs, mirroring the `agent` extra where it is already a runtime dependency. No change to `src/` runtime code. `uv lock` also picks up develop's already-merged dependabot bumps (`azure-mgmt-cognitiveservices<15`, `azure-monitor-query<3`, `pandas<4`). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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
The Release workflow for v0.4.0 and v0.4.1 failed in the
buildjob because theunit test
test_list_role_definition_ids_extracts_guid_suffixpatchesazure.mgmt.authorization.AuthorizationManagementClientvia the string form ofunittest.mock.patch. That requires the package to be importable in the testenvironment, but
azure-mgmt-authorizationwas only declared under theagentoptional-dependencies extra.Release / _build.ymlandCI / ci.ymlboth run
uv sync --group dev, so the package was not installed for the tests.CI surfaced two flavors of the same root cause:
AttributeError: module 'azure' has no attribute 'mgmt'on the release build,where some other
azure-mgmt-*dep partially populates theazure.mgmtnamespace package.
ModuleNotFoundError: No module named 'azure.mgmt'on PR CI, where noazure-mgmt-*is installed at all.Fix
Add
azure-mgmt-authorization>=4.0,<5.0to thedevgroup inpyproject.toml(and refreshuv.lock). This mirrors theagentextrawhere the package is already a runtime dependency, and makes the test suite
deterministic on every CI runner. No change to
src/runtime code.uv lockalso picks up develop's already-merged dependabot bumps(
azure-mgmt-cognitiveservices<15,azure-monitor-query<3,pandas<4).Validation
uv sync --group dev-> installsazure-mgmt-authorization==4.0.0uv run pytest tests/-> 943 passed, 6 skippeduv run ruff check src/ tests/-> all checks passedReleases unblocked
This unblocks the
Releaseworkflow for v0.4.0 (already tagged but neverpublished to PyPI/Marketplace) and v0.4.1.