-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bicep stopped working on azure-cli:latest Docker image (2.64.0) #29828
Comments
Thank you for opening this issue, we will look into it. |
I have the same issue when deploying with the azure/cli action. This was working fine up till yesterday and broke today. |
As announced in https://learn.microsoft.com/en-us/cli/azure/run-azure-cli-docker, the image base of Azure CLI 2.64.0 has changed from Alpine to CBL Mariner 2.0. This change may introduce some breaking changes that could cause failures in bicep. We will investigate this issue during our work hours. |
I am able to repro with the below GitHub action task: - name: Azure CLI script
uses: azure/cli@v2
with:
azcliversion: 2.64.0
inlineScript: |
set -x
az bicep install
az bicep version Output:
I am working with Bicep and Mariner teams internally on this issue and will share the update here. |
Workaround: For now, please use the |
This feels related to Azure/bicep#1938. For anyone able to repro this - could you try setting the following environmental variable before running Bicep? export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 In @jiasli's example this would be:
|
Yep, this is the setting that should probably be added to the cbl-mariner2.0 based container images of Azure CLI. The Docker images published by the .NET team have this set for the Alpine-based images, but not for the CBL-Mariner-based images. And it works, here in a manually spun up container:
|
Bicep actually works with the Mariner-based dotnet image because it includes @jiasli Would it be possible to include these .NET dependencies in the Azure CLI image build: https://github.com/dotnet/dotnet-docker/blob/d90d458deada9057d7889f76d58fc0a7194a0c06/src/runtime-deps/8.0/cbl-mariner2.0/amd64/Dockerfile#L11-L22? |
this works, ty
|
I can confirm manually installing
This will make #7387 worse. I am considering if The Alpine-based image installs Line 37 in 413d13a
|
Alpine is about size, and not having ICU in those containers makes a huge difference. For the same reason, the .NET team considered making globalization-invariant mode the default in all other Docker images, but ultimately decided against it as the value proposition is different for the other distros. Also, from that issue:
|
cc @richlander |
@anthony-c-martin That env variable worked for our workflows: https://github.com/Azure-Samples/azure-search-openai-demo/actions/runs/10819953360/job/30018949127?pr=1964 |
@pamelafox agreed, I was just looking to get more info on the problem. Having AzureCLI set this env var on the container feels like a viable longer-term solution. EDIT: I think #29897 should address this. |
Describe the bug
We're using Bicep to deploy our Azure resources. That worked fine up to Azure CLI 2.63.0 Docker image, but since today with 2.64.0 it fails. Please note we're using
azure-cli:latest
, so we expected some of our own stuff to break when moving from Alpine to CBL Mariner 2.0. However, we did not expect Bicep to break.Related command
az deployment sub create --subscription $SUBSCRIPTION_ID --name $NAME --location "North Europe" --template-file ./main.bicep
Errors
Issue script & Debug output
Not related to Python part of
az
, but the Bicep extension.Expected behavior
Successful deployment. AFAIK, .NET sets globalization invariant mode in their Alpine images, but obviously this is not set in the azure-cli images based on cbl-mariner-2.0 and affects Bicep.
Environment Summary
Additional context
No response
The text was updated successfully, but these errors were encountered: