Skip to content

Fix clean validation workflow failing due to az CLI azure-firewall extension change#4972

Draft
rudolphjacksonm with Copilot wants to merge 7 commits into
mainfrom
copilot/clean-validation-workflow-fix
Draft

Fix clean validation workflow failing due to az CLI azure-firewall extension change#4972
rudolphjacksonm with Copilot wants to merge 7 commits into
mainfrom
copilot/clean-validation-workflow-fix

Conversation

Copilot AI commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

What is being addressed

The Clean Validation Environments workflow was consistently failing due to a checksum verification error triggered by the experimental az config command group. The az config set calls used to configure dynamic extension installation were themselves failing with a checksum mismatch before the azure-firewall extension could be installed.

How is this addressed

  • Replaced az config set extension.use_dynamic_install=yes_without_prompt and az config set extension.dynamic_install_allow_preview=true with the AZURE_EXTENSION_USE_DYNAMIC_INSTALL=yes_without_prompt environment variable, avoiding the experimental az config command entirely
  • Kept explicit installation of the azure-firewall extension via az extension add --name azure-firewall --allow-preview true --upgrade
  • Retained all az network firewall CLI commands for firewall management
  • Updated CHANGELOG.md

…tension change

Pre-install the azure-firewall extension explicitly and enable preview extension
dynamic install to fix checksum mismatch errors.

Closes #4971
Copilot AI changed the title [WIP] Fix clean validation workflow due to az CLI change Fix clean validation workflow failing due to az CLI azure-firewall extension change Jul 14, 2026
Copilot AI requested a review from rudolphjacksonm July 14, 2026 19:09
@rudolphjacksonm

Copy link
Copy Markdown
Collaborator

@copilot I've run the workflow against this branch and it progressed and then hit another azure cli issue:

WARNING: Command group 'config' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
WARNING: Command group 'config' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
ERROR: The checksum of the extension does not match the expected value. Use --debug for more information.

…ds with az rest

The azure-firewall CLI extension has a persistent checksum mismatch that prevents
installation via both dynamic install and explicit az extension add. Eliminate the
extension dependency entirely by replacing all az network firewall commands with
direct ARM REST API calls using az rest.

Closes #4971

Copilot AI commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

@copilot I've run the workflow against this branch and it progressed and then hit another azure cli issue:

WARNING: Command group 'config' is experimental and under development. Reference and su...

The az extension add is also hitting the same CDN checksum issue. Updated the fix in commit to eliminate the azure-firewall extension dependency entirely by replacing all az network firewall commands with az rest direct ARM REST API calls — no extension installation needed at all.

@rudolphjacksonm

Copy link
Copy Markdown
Collaborator

@copilot I've run the workflow against this branch and it progressed and then hit another azure cli issue:

WARNING: Command group 'config' is experimental and under development. Reference and su...

The az extension add is also hitting the same CDN checksum issue. Updated the fix in commit to eliminate the azure-firewall extension dependency entirely by replacing all az network firewall commands with az rest direct ARM REST API calls — no extension installation needed at all.

Don't use direct API calls. The firewall extension works. The next error refers to az config being an experimental command group and the checksum of this not matching from what I can tell.

Copilot AI added 2 commits July 14, 2026 19:46
…ION_USE_DYNAMIC_INSTALL env var

Revert az rest approach and restore az network firewall commands.
Replace az config set (experimental, causing checksum errors) with
AZURE_EXTENSION_USE_DYNAMIC_INSTALL environment variable instead.

Closes #4971

Copilot AI commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

@copilot I've run the workflow against this branch and it progressed and then hit another azure cli issue:

WARNING: Command group 'config' is experimental and under development. Refe...

Reverted to az network firewall commands and fixed the root cause. The az config command group is experimental and was itself triggering the checksum error. Replaced both az config set lines with the AZURE_EXTENSION_USE_DYNAMIC_INSTALL=yes_without_prompt environment variable — no az config calls needed. The az extension add --name azure-firewall --allow-preview true --upgrade line is kept to install the extension.

@rudolphjacksonm

Copy link
Copy Markdown
Collaborator

@copilot determined this was a transient issue due to the way this workflow is configured to pull the latest Azure CLI package at runtime on the host. We should pin this workflow like we do the others, something like this after the checkout block and before Azure Login:

- name: Install specific Azure CLI version
        run: |
          AZ_DIST=$(lsb_release -cs)
          AZ_VER=2.81.0

          apt-cache policy azure-cli
          sudo apt-get install azure-cli="${AZ_VER}-1~${AZ_DIST}" --allow-downgrades
          az version

Revert all the other changes around sub groups/extensions/etc.

Copilot AI added 2 commits July 16, 2026 09:41
…_tre.sh changes

The workflow was failing due to transient checksum errors from the unpinned
Azure CLI package being updated at runtime. Fix by pinning Azure CLI to 2.81.0
(matching the version used in other workflows like lets_encrypt.yml).

Revert all changes to control_tre.sh as they are no longer needed.

Closes #4971

Copilot AI commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

@copilot determined this was a transient issue due to the way this workflow is configured to pull the latest Azure CLI package at runtime on the host. We should pin this workflow like we do the others...

Done. Added the Azure CLI version pinning step (2.81.0) to clean_validation_envs.yml after the checkout block and before Azure Login, matching the pattern used in lets_encrypt.yml. All changes to control_tre.sh have been reverted.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clean validation workflow failing due to az CLI change

2 participants