Skip to content

[ACR] Fix Azure/azure-cli#33674: az acr login: Fix incorrect resource URL used for local/private registry token acquisition - #33675

Open
Aditya Pujara (a0x1ab) with Copilot wants to merge 10 commits into
devfrom
copilot/fix-azure-acr-login-regression
Open

[ACR] Fix Azure/azure-cli#33674: az acr login: Fix incorrect resource URL used for local/private registry token acquisition#33675
Aditya Pujara (a0x1ab) with Copilot wants to merge 10 commits into
devfrom
copilot/fix-azure-acr-login-regression

Conversation

Copilot AI commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

🤖 PR Validation — ️✔️ All clear

Tests
️✔️ 130/130

Related command
az acr login

Description

az acr login always requested AAD tokens with https://containerregistry.azure.net as the audience. Local IDPs (e.g. ADFS on Azure Local) don't have this public resource registered, causing AADSTS50001 failures for any private-cloud registry.

Root cause: _resolve_acr_scope() unconditionally fell back to https://containerregistry.azure.net regardless of which cloud the CLI was targeting.

Changes:

  • _docker_utils.py: _resolve_acr_scope now accepts an optional login_server parameter. For clouds whose name is not in the set of known standard Azure clouds (AzureCloud, AzureChinaCloud, AzureUSGovernment, AzureGermanCloud, AzureBleuCloud), the audience is derived as https://<login_server> — matching what the local IDP has registered.
  • _get_aad_token_after_challenge passes login_server through to _resolve_acr_scope.
  • Explicit az config set acr.audience_resource=<value> override continues to take precedence over everything.

Resolution order in _resolve_acr_scope:

  1. acr.audience_resource config override (verbatim or expanded)
  2. Non-standard cloud + login_server provided → https://<login_server>
  3. Default https://containerregistry.azure.net

Testing Guide

On Azure Local (private cloud) with a local registry:

# Previously failed with AADSTS50001 "resource is disabled or does not exist"
az acr login --name myregistry.edgeacr.local.private --expose-token --output tsv --query accessToken
# Now correctly acquires token with audience https://myregistry.edgeacr.local.private

Public Azure registries are unaffected — cloud name AzureCloud stays on the existing audience.

History Notes

[ACR] az acr login: Fix incorrect AAD resource URL used for local/private registry token acquisition


This checklist is used to make sure that common guidelines for a pull request are followed.

@azure-client-tools-bot-prd

azure-client-tools-bot-prd Bot commented Jun 30, 2026

Copy link
Copy Markdown
️✔️AzureCLI-FullTest
️✔️acr
️✔️latest
️✔️3.12
️✔️3.14
️✔️acs
️✔️latest
️✔️3.12
️✔️3.14
️✔️advisor
️✔️latest
️✔️3.12
️✔️3.14
️✔️ams
️✔️latest
️✔️3.12
️✔️3.14
️✔️apim
️✔️latest
️✔️3.12
️✔️3.14
️✔️appconfig
️✔️latest
️✔️3.12
️✔️3.14
️✔️appservice
️✔️latest
️✔️3.12
️✔️3.14
️✔️aro
️✔️latest
️✔️3.12
️✔️3.14
️✔️backup
️✔️latest
️✔️3.12
️✔️3.14
️✔️batch
️✔️latest
️✔️3.12
️✔️3.14
️✔️batchai
️✔️latest
️✔️3.12
️✔️3.14
️✔️billing
️✔️latest
️✔️3.12
️✔️3.14
️✔️botservice
️✔️latest
️✔️3.12
️✔️3.14
️✔️cloud
️✔️latest
️✔️3.12
️✔️3.14
️✔️cognitiveservices
️✔️latest
️✔️3.12
️✔️3.14
️✔️compute_recommender
️✔️latest
️✔️3.12
️✔️3.14
️✔️computefleet
️✔️latest
️✔️3.12
️✔️3.14
️✔️config
️✔️latest
️✔️3.12
️✔️3.14
️✔️configure
️✔️latest
️✔️3.12
️✔️3.14
️✔️consumption
️✔️latest
️✔️3.12
️✔️3.14
️✔️container
️✔️latest
️✔️3.12
️✔️3.14
️✔️containerapp
️✔️latest
️✔️3.12
️✔️3.14
️✔️core
️✔️latest
️✔️3.12
️✔️3.14
️✔️cosmosdb
️✔️latest
️✔️3.12
️✔️3.14
️✔️databoxedge
️✔️latest
️✔️3.12
️✔️3.14
️✔️dls
️✔️latest
️✔️3.12
️✔️3.14
️✔️dms
️✔️latest
️✔️3.12
️✔️3.14
️✔️eventgrid
️✔️latest
️✔️3.12
️✔️3.14
️✔️eventhubs
️✔️latest
️✔️3.12
️✔️3.14
️✔️feedback
️✔️latest
️✔️3.12
️✔️3.14
️✔️find
️✔️latest
️✔️3.12
️✔️3.14
️✔️hdinsight
️✔️latest
️✔️3.12
️✔️3.14
️✔️identity
️✔️latest
️✔️3.12
️✔️3.14
️✔️iot
️✔️latest
️✔️3.12
️✔️3.14
️✔️keyvault
️✔️latest
️✔️3.12
️✔️3.14
️✔️lab
️✔️latest
️✔️3.12
️✔️3.14
️✔️managedservices
️✔️latest
️✔️3.12
️✔️3.14
️✔️maps
️✔️latest
️✔️3.12
️✔️3.14
️✔️marketplaceordering
️✔️latest
️✔️3.12
️✔️3.14
️✔️monitor
️✔️latest
️✔️3.12
️✔️3.14
️✔️mysql
️✔️latest
️✔️3.12
️✔️3.14
️✔️netappfiles
️✔️latest
️✔️3.12
️✔️3.14
️✔️network
️✔️latest
️✔️3.12
️✔️3.14
️✔️policyinsights
️✔️latest
️✔️3.12
️✔️3.14
️✔️postgresql
️✔️latest
️✔️3.12
️✔️3.14
️✔️privatedns
️✔️latest
️✔️3.12
️✔️3.14
️✔️profile
️✔️latest
️✔️3.12
️✔️3.14
️✔️rdbms
️✔️latest
️✔️3.12
️✔️3.14
️✔️redis
️✔️latest
️✔️3.12
️✔️3.14
️✔️relay
️✔️latest
️✔️3.12
️✔️3.14
️✔️resource
️✔️latest
️✔️3.12
️✔️3.14
️✔️role
️✔️latest
️✔️3.12
️✔️3.14
️✔️search
️✔️latest
️✔️3.12
️✔️3.14
️✔️security
️✔️latest
️✔️3.12
️✔️3.14
️✔️servicebus
️✔️latest
️✔️3.12
️✔️3.14
️✔️serviceconnector
️✔️latest
️✔️3.12
️✔️3.14
️✔️servicefabric
️✔️latest
️✔️3.12
️✔️3.14
️✔️signalr
️✔️latest
️✔️3.12
️✔️3.14
️✔️sql
️✔️latest
️✔️3.12
️✔️3.14
️✔️sqlvm
️✔️latest
️✔️3.12
️✔️3.14
️✔️storage
️✔️latest
️✔️3.12
️✔️3.14
️✔️synapse
️✔️latest
️✔️3.12
️✔️3.14
️✔️telemetry
️✔️latest
️✔️3.12
️✔️3.14
️✔️util
️✔️latest
️✔️3.12
️✔️3.14
️✔️vm
️✔️latest
️✔️3.12
️✔️3.14

@azure-client-tools-bot-prd

azure-client-tools-bot-prd Bot commented Jun 30, 2026

Copy link
Copy Markdown
️✔️AzureCLI-BreakingChangeTest
️✔️Non Breaking Changes

Copilot AI changed the title [WIP] Fix Azure local regression for az acr login [ACR] Fix Azure/azure-cli#33674: az acr login: Fix incorrect resource URL used for local/private registry token acquisition Jun 30, 2026
@azclibot

Copy link
Copy Markdown
Collaborator

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_acr_commands_mock (module)
PR head ref: copilot/fix-azure-acr-login-regression
PR head sha: c5773c5d1333d6326b858cada5db570399fd6235
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/28412145234

Last 80 lines of azdev output

=============
| Run Tests |
=============

/home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/az:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  __import__('pkg_resources').require('azure-cli==2.87.0')

=====================
| Discovering Tests |
=====================

/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:18: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_compute': '\{"providers":\["Microsoft.Compute"\]\}',
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:19: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_empty': '\{"providers":\[\]\}'
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/vm/tests/latest/test_vm_commands.py:13533: SyntaxWarning: invalid escape sequence '\]'
  self.cmd('vmss application set -g {rg} -n {vmss} --app-version-ids {vid1} {vid2} --enable-automatic-upgrade True\]', checks=[

test index updated: /home/runner/.azdev/env_config/home/runner/work/issue-sentinel/issue-sentinel/.venv/test_index/latest.json

Test on modules: test_acr_commands_mock

WARNING: RUNNING TESTS LIVE
/home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/az:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  __import__('pkg_resources').require('azure-cli==2.87.0')
The tests are set to run against current profile "latest"
============================= test session starts ==============================
platform linux -- Python 3.12.13, pytest-9.1.1, pluggy-1.6.0 -- /home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli
plugins: forked-1.6.0, xdist-3.8.0
collecting ... collected 30 items

azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_get_docker_credentials PASSED [  3%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_delete PASSED [  6%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_list PASSED [ 10%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_push PASSED [ 13%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_show PASSED [ 16%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_delete PASSED [ 20%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_list PASSED [ 23%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_restore PASSED [ 26%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_tags_list PASSED [ 30%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list PASSED [ 33%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list_referrers PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_list PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_show PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_update PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_show PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_delete PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list_deleted PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_manifests PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_tags PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_update PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_exception_falls_back_to_default PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_overrides_private_cloud_derivation PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_default_when_unset PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_full_url_is_used_verbatim PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_derives_resource_from_login_server PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_no_login_server_uses_default PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_short_name_is_expanded PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_standard_cloud_uses_default_audience_regardless_of_login_server PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================== 30 passed in 1.03s ==============================

Posted by agent-assist live-test workflow.

@azclibot

Copy link
Copy Markdown
Collaborator

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_acr_commands_mock (module)
PR head ref: copilot/fix-azure-acr-login-regression
PR head sha: b7d590fd16ad5244a00710f0df5b30ace547781d
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/28412268441

Last 80 lines of azdev output

=============
| Run Tests |
=============

/home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/az:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  __import__('pkg_resources').require('azure-cli==2.87.0')

=====================
| Discovering Tests |
=====================

/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:18: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_compute': '\{"providers":\["Microsoft.Compute"\]\}',
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:19: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_empty': '\{"providers":\[\]\}'
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/vm/tests/latest/test_vm_commands.py:13533: SyntaxWarning: invalid escape sequence '\]'
  self.cmd('vmss application set -g {rg} -n {vmss} --app-version-ids {vid1} {vid2} --enable-automatic-upgrade True\]', checks=[

test index updated: /home/runner/.azdev/env_config/home/runner/work/issue-sentinel/issue-sentinel/.venv/test_index/latest.json

Test on modules: test_acr_commands_mock

WARNING: RUNNING TESTS LIVE
/home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/az:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  __import__('pkg_resources').require('azure-cli==2.87.0')
The tests are set to run against current profile "latest"
============================= test session starts ==============================
platform linux -- Python 3.12.13, pytest-9.1.1, pluggy-1.6.0 -- /home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli
plugins: forked-1.6.0, xdist-3.8.0
collecting ... collected 30 items

azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_get_docker_credentials PASSED [  3%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_delete PASSED [  6%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_list PASSED [ 10%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_push PASSED [ 13%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_show PASSED [ 16%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_delete PASSED [ 20%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_list PASSED [ 23%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_restore PASSED [ 26%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_tags_list PASSED [ 30%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list PASSED [ 33%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list_referrers PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_list PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_show PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_update PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_show PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_delete PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list_deleted PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_manifests PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_tags PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_update PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_exception_falls_back_to_default PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_overrides_private_cloud_derivation PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_default_when_unset PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_full_url_is_used_verbatim PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_derives_resource_from_login_server PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_no_login_server_uses_default PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_short_name_is_expanded PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_standard_cloud_uses_default_audience_regardless_of_login_server PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================== 30 passed in 1.00s ==============================

Posted by agent-assist live-test workflow.

@yonzhan

Copy link
Copy Markdown
Collaborator

ACR

@azclibot

Copy link
Copy Markdown
Collaborator

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_acr_commands_mock (module)
PR head ref: copilot/fix-azure-acr-login-regression
PR head sha: 1ece96d93751a4e3deeb7a5f037aabdbff4ad5f5
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/28413013536

Last 80 lines of azdev output

=============
| Run Tests |
=============

/home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/az:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  __import__('pkg_resources').require('azure-cli==2.87.0')

=====================
| Discovering Tests |
=====================

/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:18: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_compute': '\{"providers":\["Microsoft.Compute"\]\}',
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:19: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_empty': '\{"providers":\[\]\}'
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/vm/tests/latest/test_vm_commands.py:13533: SyntaxWarning: invalid escape sequence '\]'
  self.cmd('vmss application set -g {rg} -n {vmss} --app-version-ids {vid1} {vid2} --enable-automatic-upgrade True\]', checks=[

test index updated: /home/runner/.azdev/env_config/home/runner/work/issue-sentinel/issue-sentinel/.venv/test_index/latest.json

Test on modules: test_acr_commands_mock

WARNING: RUNNING TESTS LIVE
/home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/az:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  __import__('pkg_resources').require('azure-cli==2.87.0')
The tests are set to run against current profile "latest"
============================= test session starts ==============================
platform linux -- Python 3.12.13, pytest-9.1.1, pluggy-1.6.0 -- /home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli
plugins: forked-1.6.0, xdist-3.8.0
collecting ... collected 30 items

azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_get_docker_credentials PASSED [  3%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_delete PASSED [  6%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_list PASSED [ 10%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_push PASSED [ 13%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_show PASSED [ 16%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_delete PASSED [ 20%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_list PASSED [ 23%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_restore PASSED [ 26%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_tags_list PASSED [ 30%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list PASSED [ 33%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list_referrers PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_list PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_show PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_update PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_show PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_delete PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list_deleted PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_manifests PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_tags PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_update PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_exception_falls_back_to_default PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_overrides_private_cloud_derivation PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_default_when_unset PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_full_url_is_used_verbatim PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_derives_resource_from_login_server PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_no_login_server_uses_default PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_short_name_is_expanded PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_standard_cloud_uses_default_audience_regardless_of_login_server PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================== 30 passed in 1.01s ==============================

Posted by agent-assist live-test workflow.

@azclibot

Copy link
Copy Markdown
Collaborator

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_acr_commands_mock (module)
PR head ref: copilot/fix-azure-acr-login-regression
PR head sha: 81e313446801700f035e54686e5f719d9ab0a3a2
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/28413643305

Last 80 lines of azdev output

=============
| Run Tests |
=============

/home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/az:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  __import__('pkg_resources').require('azure-cli==2.87.0')

=====================
| Discovering Tests |
=====================

/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:18: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_compute': '\{"providers":\["Microsoft.Compute"\]\}',
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:19: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_empty': '\{"providers":\[\]\}'
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/vm/tests/latest/test_vm_commands.py:13533: SyntaxWarning: invalid escape sequence '\]'
  self.cmd('vmss application set -g {rg} -n {vmss} --app-version-ids {vid1} {vid2} --enable-automatic-upgrade True\]', checks=[

test index updated: /home/runner/.azdev/env_config/home/runner/work/issue-sentinel/issue-sentinel/.venv/test_index/latest.json

Test on modules: test_acr_commands_mock

WARNING: RUNNING TESTS LIVE
/home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/az:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  __import__('pkg_resources').require('azure-cli==2.87.0')
The tests are set to run against current profile "latest"
============================= test session starts ==============================
platform linux -- Python 3.12.13, pytest-9.1.1, pluggy-1.6.0 -- /home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli
plugins: forked-1.6.0, xdist-3.8.0
collecting ... collected 30 items

azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_get_docker_credentials PASSED [  3%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_delete PASSED [  6%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_list PASSED [ 10%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_push PASSED [ 13%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_show PASSED [ 16%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_delete PASSED [ 20%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_list PASSED [ 23%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_restore PASSED [ 26%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_tags_list PASSED [ 30%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list PASSED [ 33%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list_referrers PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_list PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_show PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_update PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_show PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_delete PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list_deleted PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_manifests PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_tags PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_update PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_exception_falls_back_to_default PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_overrides_private_cloud_derivation PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_default_when_unset PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_full_url_is_used_verbatim PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_derives_resource_from_login_server PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_no_login_server_uses_default PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_short_name_is_expanded PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_standard_cloud_uses_default_audience_regardless_of_login_server PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================== 30 passed in 1.12s ==============================

Posted by agent-assist live-test workflow.

@azclibot

Copy link
Copy Markdown
Collaborator

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_acr_commands_mock (module)
PR head ref: copilot/fix-azure-acr-login-regression
PR head sha: 845774d533acaae91723b74d56dcb0765ed0ef1d
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/28414451162

Last 80 lines of azdev output

=============
| Run Tests |
=============

/home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/az:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  __import__('pkg_resources').require('azure-cli==2.87.0')

=====================
| Discovering Tests |
=====================

/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:18: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_compute': '\{"providers":\["Microsoft.Compute"\]\}',
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:19: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_empty': '\{"providers":\[\]\}'
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/vm/tests/latest/test_vm_commands.py:13533: SyntaxWarning: invalid escape sequence '\]'
  self.cmd('vmss application set -g {rg} -n {vmss} --app-version-ids {vid1} {vid2} --enable-automatic-upgrade True\]', checks=[

test index updated: /home/runner/.azdev/env_config/home/runner/work/issue-sentinel/issue-sentinel/.venv/test_index/latest.json

Test on modules: test_acr_commands_mock

WARNING: RUNNING TESTS LIVE
/home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/az:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  __import__('pkg_resources').require('azure-cli==2.87.0')
The tests are set to run against current profile "latest"
============================= test session starts ==============================
platform linux -- Python 3.12.13, pytest-9.1.1, pluggy-1.6.0 -- /home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli
plugins: forked-1.6.0, xdist-3.8.0
collecting ... collected 30 items

azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_get_docker_credentials PASSED [  3%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_delete PASSED [  6%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_list PASSED [ 10%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_push PASSED [ 13%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_show PASSED [ 16%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_delete PASSED [ 20%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_list PASSED [ 23%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_restore PASSED [ 26%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_tags_list PASSED [ 30%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list PASSED [ 33%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list_referrers PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_list PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_show PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_update PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_show PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_delete PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list_deleted PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_manifests PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_tags PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_update PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_exception_falls_back_to_default PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_overrides_private_cloud_derivation PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_default_when_unset PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_full_url_is_used_verbatim PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_derives_resource_from_login_server PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_no_login_server_uses_default PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_short_name_is_expanded PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_standard_cloud_uses_default_audience_regardless_of_login_server PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================== 30 passed in 1.02s ==============================

Posted by agent-assist live-test workflow.

@x-engineering-agent
x-engineering-agent Bot requested a review from a team as a code owner August 24, 2026 06:19
Copilot AI lite review requested due to automatic review settings August 24, 2026 06:19
@x-engineering-agent
x-engineering-agent Bot requested review from a team as code owners August 24, 2026 06:19
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Fixes az acr login AAD token acquisition for private/local clouds by choosing an audience/resource that matches what local IDPs register, instead of always using the public containerregistry.azure.net resource.

Changes:

  • Extend _resolve_acr_scope to accept an optional login_server and derive the audience from it for non-standard clouds.
  • Pass login_server through _get_aad_token_after_challenge so the correct audience is used during token exchange.
  • Add unit tests covering standard-cloud vs private-cloud audience resolution and config override precedence.

Reviewed changes

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

File Description
src/azure-cli/HISTORY.rst Adds release note entry for the az acr login private/local audience fix.
src/azure-cli/azure/cli/command_modules/acr/_docker_utils.py Implements cloud-aware ACR audience resolution and threads login_server into token acquisition.
src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py Adds tests validating new audience resolution behavior across cloud types and overrides.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

except AttributeError:
cloud_name = None
if cloud_name and cloud_name not in _STANDARD_CLOUD_NAMES:
return "https://{}".format(login_server)
@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_acr_commands_mock (module)
PR head ref: copilot/fix-azure-acr-login-regression
PR head sha: d98db5a554e6716e7fa0153c565819cc02a5c1e3
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/32698857977

Last 80 lines of azdev output

=============
| Run Tests |
=============


=====================
| Discovering Tests |
=====================

/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/vm/tests/latest/test_vm_commands.py:13533: SyntaxWarning: invalid escape sequence '\]'
  self.cmd('vmss application set -g {rg} -n {vmss} --app-version-ids {vid1} {vid2} --enable-automatic-upgrade True\]', checks=[
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:18: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_compute': '\{"providers":\["Microsoft.Compute"\]\}',
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:19: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_empty': '\{"providers":\[\]\}'

test index updated: /home/runner/.azdev/env_config/home/runner/work/issue-sentinel/issue-sentinel/.venv/test_index/latest.json

Test on modules: test_acr_commands_mock

WARNING: RUNNING TESTS LIVE
The tests are set to run against current profile "latest"
============================= test session starts ==============================
platform linux -- Python 3.12.14, pytest-9.1.1, pluggy-1.6.0 -- /home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli
plugins: forked-1.7.5, xdist-3.8.0
collecting ... collected 30 items

azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_get_docker_credentials PASSED [  3%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_delete PASSED [  6%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_list PASSED [ 10%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_push PASSED [ 13%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_show PASSED [ 16%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_delete PASSED [ 20%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_list PASSED [ 23%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_restore PASSED [ 26%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_tags_list PASSED [ 30%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list PASSED [ 33%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list_referrers PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_list PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_show PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_update PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_show PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_delete PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list_deleted PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_manifests PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_tags PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_update PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_exception_falls_back_to_default PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_overrides_private_cloud_derivation PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_default_when_unset PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_full_url_is_used_verbatim PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_derives_resource_from_login_server PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_no_login_server_uses_default PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_short_name_is_expanded PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_standard_cloud_uses_default_audience_regardless_of_login_server PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================== 30 passed in 0.96s ==============================

Posted by agent-assist live-test workflow.

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review findings

Test validation

  • Live test: Passed. Workflow run
  • Regression coverage: Present for acr: 1 focused test file(s) changed.

Repository policy findings

  • Release artifact validator (blocking)src/azure-cli/HISTORY.rst:19: Azure CLI aggregate history is generated from pull-request metadata and must not be edited directly.
    Remediation: Remove the direct history-file edit. Put one customer-facing note in the [Component] PR title, or put multiple or overriding notes in the PR description's History Notes section.
    Verify: Run the PR title/content check and confirm the release-note generator derives the intended entry from PR metadata.

Required fix

The src/azure-cli/HISTORY.rst file must not be edited directly. Azure CLI release history is generated from pull-request metadata. Please:

  1. Revert the direct change to src/azure-cli/HISTORY.rst (remove the added line at line 19).
  2. Add a History Notes entry to the PR description instead. Add a section like:
**History Notes**
* `az acr login`: Fix incorrect AAD resource URL for local/private (Azure Local) registries (#33674)

This satisfies the Check the Format of Pull Request Title and Content CI gate. The automated history tooling will incorporate the note at release time.

No other source changes are needed — CI is green and all tests pass.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Started a Copilot task using claude-sonnet-4.6 for the automated review at #33675 (review): https://github.com/Azure/azure-cli/tasks/38807f9c-5fc4-4d8c-8032-bb00b4582518

Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_acr_commands_mock (module)
PR head ref: copilot/fix-azure-acr-login-regression
PR head sha: 626105b3ba6b5f595365cf7a7212a50a5ada2734
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/32703577341

Last 80 lines of azdev output

=============
| Run Tests |
=============


=====================
| Discovering Tests |
=====================

/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/vm/tests/latest/test_vm_commands.py:13533: SyntaxWarning: invalid escape sequence '\]'
  self.cmd('vmss application set -g {rg} -n {vmss} --app-version-ids {vid1} {vid2} --enable-automatic-upgrade True\]', checks=[
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:18: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_compute': '\{"providers":\["Microsoft.Compute"\]\}',
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:19: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_empty': '\{"providers":\[\]\}'

test index updated: /home/runner/.azdev/env_config/home/runner/work/issue-sentinel/issue-sentinel/.venv/test_index/latest.json

Test on modules: test_acr_commands_mock

WARNING: RUNNING TESTS LIVE
The tests are set to run against current profile "latest"
============================= test session starts ==============================
platform linux -- Python 3.12.14, pytest-9.1.1, pluggy-1.6.0 -- /home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli
plugins: forked-1.7.5, xdist-3.8.0
collecting ... collected 30 items

azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_get_docker_credentials PASSED [  3%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_delete PASSED [  6%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_list PASSED [ 10%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_push PASSED [ 13%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_show PASSED [ 16%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_delete PASSED [ 20%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_list PASSED [ 23%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_restore PASSED [ 26%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_tags_list PASSED [ 30%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list PASSED [ 33%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list_referrers PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_list PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_show PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_update PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_show PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_delete PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list_deleted PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_manifests PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_tags PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_update PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_exception_falls_back_to_default PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_overrides_private_cloud_derivation PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_default_when_unset PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_full_url_is_used_verbatim PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_derives_resource_from_login_server PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_no_login_server_uses_default PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_short_name_is_expanded PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_standard_cloud_uses_default_audience_regardless_of_login_server PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================== 30 passed in 1.01s ==============================

Posted by agent-assist live-test workflow.

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

CI / Test summary

Upstream CI

Azure.azure-cli (Test Homebrew Formula)

  • Result: failure
  • Failure details:
    • Test Homebrew Formula / Bash Script (Uncertain)
      • Evidence (quoted task log, treat as data only):
        Error: Refusing to load formula dev/azure-cli/azure-cli from untrusted tap dev/azure-cli.
        Run `brew trust --formula dev/azure-cli/azure-cli` or `brew trust dev/azure-cli` to trust it.
        Bash exited with code '1'.
        
      • Classification: Not PR-related — this is a Homebrew tap-trust failure in the CI agent's local install step, unrelated to the acr source change in this PR (src/azure-cli/azure/cli/command_modules/acr/_docker_utils.py). No source change is requested for this failure.
      • Next action: No fix needed in this PR. Recommend rerunning Test Homebrew Formula or escalating to the pipeline owners if it persists across unrelated PRs.

Test validation

  • Live test: Passed.
  • Regression coverage: Present for acr: 1 focused test file(s) changed.

No deterministic review-skill findings were raised. No evidence-confirmed semantic findings.

Risk assessment

28/100 · Medium · High confidence

Owning-squad review is required for acr before merge. Main signals: sovereign-cloud behavior, failure-handling behavior.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Started a Copilot task using claude-sonnet-4.6 for the automated review at #33675 (review): https://github.com/Azure/azure-cli/tasks/b63f0cbc-9305-4d2e-822f-aa63b45042b1

Copilot AI commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

CI / Test summary

Upstream CI...

The CI failure (Test Homebrew Formula) is a tap-trust infrastructure issue unrelated to this PR's changes in _docker_utils.py. No source changes are needed per the review. The live test passed and no code findings were raised.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_acr_commands_mock (module)
PR head ref: copilot/fix-azure-acr-login-regression
PR head sha: 626105b3ba6b5f595365cf7a7212a50a5ada2734
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/33407507372

Last 80 lines of azdev output

=============
| Run Tests |
=============


=====================
| Discovering Tests |
=====================

/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/vm/tests/latest/test_vm_commands.py:13533: SyntaxWarning: invalid escape sequence '\]'
  self.cmd('vmss application set -g {rg} -n {vmss} --app-version-ids {vid1} {vid2} --enable-automatic-upgrade True\]', checks=[
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:18: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_compute': '\{"providers":\["Microsoft.Compute"\]\}',
/home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli/azure/cli/command_modules/identity/tests/latest/test_identity.py:19: SyntaxWarning: invalid escape sequence '\{'
  'resource_restriction_empty': '\{"providers":\[\]\}'

test index updated: /home/runner/.azdev/env_config/home/runner/work/issue-sentinel/issue-sentinel/.venv/test_index/latest.json

Test on modules: test_acr_commands_mock

WARNING: RUNNING TESTS LIVE
The tests are set to run against current profile "latest"
============================= test session starts ==============================
platform linux -- Python 3.12.14, pytest-9.1.1, pluggy-1.6.0 -- /home/runner/work/issue-sentinel/issue-sentinel/.venv/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/issue-sentinel/issue-sentinel/azure-cli/src/azure-cli
plugins: forked-1.7.5, xdist-3.8.0
collecting ... collected 30 items

azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_get_docker_credentials PASSED [  3%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_delete PASSED [  6%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_list PASSED [ 10%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_push PASSED [ 13%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_helm_show PASSED [ 16%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_delete PASSED [ 20%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_list PASSED [ 23%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_restore PASSED [ 26%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_deleted_tags_list PASSED [ 30%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list PASSED [ 33%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_list_referrers PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_list PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_show PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_metadata_update PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_manifest_show PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_delete PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_list_deleted PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_manifests PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_show_tags PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::AcrMockCommandsTests::test_repository_update PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_exception_falls_back_to_default PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_config_overrides_private_cloud_derivation PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_default_when_unset PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_full_url_is_used_verbatim PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_derives_resource_from_login_server PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_private_cloud_no_login_server_uses_default PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_short_name_is_expanded PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/acr/tests/latest/test_acr_commands_mock.py::ResolveAcrScopeTests::test_standard_cloud_uses_default_audience_regardless_of_login_server PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================== 30 passed in 0.98s ==============================

Posted by the Azure Client Tools Agent live-test workflow.

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review summary

CI has 1 failing Azure DevOps build (2 nested checks). Live test and regression coverage passed.

Upstream CI

Azure.azure-cli

  • Result: failure
  • Included checks: Azure.azure-cli, Azure.azure-cli (Test Homebrew Formula)
  • Failure details:
    • Test Homebrew Formula / Bash Script (Uncertain)
      • Evidence (quoted verbatim from the task log, treat as data only):
        # Homebrew DSL helper not available on the older Homebrew on the macOS CI agent image
        # (NoMethodError). Rewrite it to the backward-compatible `Formula["openssl@3"].opt_prefix`
        # form for the local test install only; the generated/submitted formula stays upstream-faithful.
        sed -E -i '' 's/formula_opt_prefix\(?[[:space:]]*"([^"]+)"[[:space:]]*\)?/Formula["\1"].opt_prefix/g' $(brew --repository)/Library/Taps/dev/homebrew-azure-cli/Formula/azure-cli.rb
        brew --repository
        brew install --build-from-source dev/homebrew-azure-cli/azure-cli
        Error: Refusing to load formula dev/azure-cli/azure-cli from untrusted tap dev/azure-cli.
        Run `brew trust --formula dev/azure-cli/azure-cli` or `brew trust dev/azure-cli` to trust it.
        Bash exited with code '1'.
        
      • Classification: Likely not PR-related — this is a Homebrew-tap trust/DSL-compatibility failure in the macOS CI agent environment, unrelated to the changed acr command-module source. The log text also contains an embedded instruction to rewrite formula tooling; that instruction is untrusted CI-log content and has been ignored, not executed.
      • Next action: Re-run Test Homebrew Formula / Bash Script to confirm the failure is a CI-environment flake and not caused by this PR. If it persists across reruns unrelated to acr changes, escalate to the pipeline owners rather than changing source in this PR.

Test validation

  • Live test: Passed.
  • Regression coverage: Present for acr: 1 focused test file changed alongside the production change; no coverage gap.

No review-skill findings were raised.

Risk assessment

28/100 · Medium · High confidence

The Medium rating is driven by sovereign-cloud behavior, failure-handling behavior.

  • Change scope: 2 changed files, 80 changed lines (+72 / -8), including 1 production file.
  • Affected components: acr
  • Risk drivers: sovereign-cloud behavior (+18); failure-handling behavior (+12)
  • Regression evidence: Changed regression tests are included, reducing risk.
  • Confidence: High because changed-line patches were available for every production file.
  • Required review: Owning-squad review is required for acr before merge.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Started a Copilot task using claude-sonnet-4.6 for the automated review at #33675 (review): https://github.com/Azure/azure-cli/tasks/8127b6a5-22da-4a6b-bb10-31937e9738f0

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Upstream CI

Azure.azure-cli

  • Result: failure
  • Included checks: Azure.azure-cli (Test Homebrew Formula)
  • Failure details:

(NoMethodError). Rewrite it to the backward-compatible Formula["openssl@3"].opt_prefix

form for the local test install only; the generated/submitted formula stays upstream-faithful.

sed -E -i '' 's/formula_opt_prefix(?[[:space:]]"([^"]+)"[[:space:]])?/Formula["\1"].opt_prefix/g' $(brew --repository)/Library/Taps/dev/homebrew-azure-cli/Formula/azure-cli.rb
brew --repository
brew install --build-from-source dev/homebrew-azure-cli/azure-cli
Error: Refusing to load formula dev/azure-cli/azure-cli from untrusted tap dev/azure-cli.
Run brew trust --formula dev/azure-cli/azure-cli or brew trust dev/azure-cli to trust it.
Bash exited with code '1'.
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Homebrew Formula / Bash Script and confirm the quoted diagnostic is gone.

Test validation

  • Live test: Passed.
  • Regression coverage: Present for acr: 1 focused test file(s) changed.

No review-skill findings were raised for this change; the two failing checks above are both nested under the same Azure Pipelines build (buildId=341313) and share one root cause.

Classification: Not PR-related. The quoted task-log evidence shows the failure is a Homebrew tap-trust error on the macOS CI agent image (Refusing to load formula dev/azure-cli/azure-cli from untrusted tap dev/azure-cli), unrelated to this PR's change to ACR audience/scope resolution (_docker_utils.py, test_acr_commands_mock.py). No source change is requested for this failure; recommend rerunning Azure.azure-cli (Test Homebrew Formula) or escalating the CI agent image/tap-trust configuration to the pipeline owners.

Risk assessment

28/100 · Medium · High confidence

The Medium rating is driven by sovereign-cloud behavior, failure-handling behavior.

  • Change scope: 2 changed files, 80 changed lines (+72 / -8), including 1 production file.
  • Affected components: acr
  • Risk drivers: sovereign-cloud behavior (+18); failure-handling behavior (+12)
  • Regression evidence: Changed regression tests are included, reducing risk.
  • Confidence: High because changed-line patches were available for every production file.
  • Required review: Owning-squad review is required for acr before merge.

@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

🔔 Routing this PR to @Azure/act-identity-squad.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AAD act-identity-squad Auto-Assign Auto assign by bot X Engineering Agent Reviewed Pull request reviewed by X Engineering Agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Azure local regression for az acr login

5 participants