You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a5cafaa
Browse filesBrowse the repository at this point in the historyBrowse files
Compile the Azure CLI's bytecode on the build platform
The 0.2.0 release failed on its arm64 image: compiling the Azure CLI's
12,000 files under emulation hit uv's per-file timeout after 36 minutes.
Bytecode is the same on every architecture for one Python, so it is now
compiled in a stage on the build machine's platform, from the same base.
Pushes and pull requests now build both architectures too, so a failure
under emulation is found before a release.
# The Azure CLI's bytecode, compiled on the build machine's own platform. Bytecode is the
40
+
# same on every architecture for one Python version, and this is the same base image, so
41
+
# the result is what compiling in place would give, in seconds rather than an hour.
42
+
# unchecked-hash: the image never changes, so Python need not check the sources.
43
+
FROM --platform=$BUILDPLATFORM docker.io/library/python:3.14-slim-trixie@sha256:caaf356f40667c496d405780745b9ac25771c189a51dfcc42430d531ea09f8a2 AS compile-az
Copy file name to clipboardExpand all lines: README.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -918,9 +918,10 @@ Every pull request and push to `main` runs `.github/workflows/ci.yml`:
918
918
| Coverage | line and branch coverage, failing below the floor in `pyproject.toml` (`fail_under`), with the report in the job summary and the total written for the badge |
919
919
| Build | builds the sdist and wheel once, installs the wheel in a clean environment, and keeps both as the run's artifact |
920
920
921
-
`.github/workflows/container.yml`builds both images on every pull request and push, runs
922
-
them (the version, a command's help, a non-root user, and for the default image a
923
-
signed-out `az whoami` that must fail cleanly), and scans them with a checksum-pinned Trivy. The `slim` image
921
+
`.github/workflows/container.yml`builds both images for `amd64` and `arm64` on every pull
922
+
request and push. It runs the native build (the version, a command's help, a non-root user,
923
+
and for the default image a signed-out `az whoami` that must fail cleanly) and scans it with
924
+
a checksum-pinned Trivy. The `slim` image
924
925
fails on any high or critical vulnerability that has a fix; the default image fails on a
925
926
fixed critical one and reports the rest, since the Azure CLI inside it pins its own
926
927
dependencies. Findings with a fix go to the Security tab. Those without one, mostly Debian
0 commit comments