Azure / bicep

Bicep is a declarative language for describing and deploying Azure resources
MIT License
3.25k stars 754 forks source link

Reassess musl testing strategy #14980

Open jeskew opened 2 months ago

jeskew commented 2 months ago

Bicep uses separate CI jobs to run CLI tests against a Linux musl system. We started doing this because the mcr.microsoft.com/azure-cli image, based on Alpine Linux, was commonly used by Bicep users. As of version 2.64.0, however, the image has migrated to Mariner (Azure Linux), a glibc distro.

For the moment, we've pinned the image used by the linux-musl-x64 CI jobs at mcr.microsoft.com/azure-cli:2.63.0, but we should reassess whether this testing is something we still need to do now that the azure-cli image is no longer based on a musl distro, and, if so, what a better long-term strategy would be.

jeskew commented 2 months ago

Based on team discussion, linux-musl-x64 was a bit of a misnomer for these tests: the real motivation was to make sure that the az bicep commands run without issue on the mcr.microsoft.com/azure-cli image. Through version 2.63.0, the main difference between that image and our normal CI environment was musl vs glibc, but with the shift to Azure Linux in version 2.64.0, there was an unrelated environmental difference that broke az bicep commands. So it's definitely worth continuing to test against mcr.microsoft.com/azure-cli:latest, though we should probably rename the CI jobs to reflect the intention.