Repository navigation
ci: Compare a probe-triggered Buildx downgrade for Compose builds - #1331
Closed
Christof Marti (chrmarti) wants to merge 1 commit into
Closed
Christof Marti (chrmarti) wants to merge 1 commit into
Christof Marti (chrmarti) wants to merge 1 commit into
Conversation
Keep installed tools when Compose can build an external Dockerfile. For the specific fs.read failure, install checksum-verified Buildx 0.37.1 and repeat the probe. This draft alternative to #1330 leaves Compose unchanged and explicitly warns that the downgrade omits the 0.37.2 security fixes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The conditional downgrade removes known Buildx security fixes and requires explicit human acceptance of that trade-off.
No open issues 🎉
What changed in this PR
Adds a CI-only alternative to #1330 for the Compose external-Dockerfile failure in #1320, leaving Compose unchanged.
Changes:
- Probe installed tools and conditionally install checksum-verified Buildx 0.37.1.
- Verify the workaround, clean up probe resources, and invoke setup in both affected workflows.
| File | Description |
|---|---|
.github/workflows/test-docker-v29.yml |
Runs shared setup before Docker 29 tests. |
.github/workflows/dev-containers.yml |
Runs shared setup after Docker configuration. |
.github/actions/setup-compose/action.yml |
Adds probing, conditional downgrade, verification, and cleanup. |
Review effort: Balanced
Christof Marti (chrmarti)
added a commit
that referenced
this pull request
Oct 21, 2026
Set BUILDX_BAKE_ENTITLEMENTS_FS=0 for Compose 2.38.2 and 5.6.0 in the affected CI jobs. Leave other versions and installed tools unchanged. This minimal alternative to #1330 and #1331 avoids probes or downloads and explicitly warns about disabled filesystem and SSH-agent consent checks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Draft comparison alternative to #1330, not an additional change to merge alongside it. This branch starts from
main; #1330 remains unchanged.Both approaches address the Compose external-Dockerfile permission failure tracked in #1320. #1330 builds a patched Compose from source while keeping current Buildx. This alternative keeps Compose unchanged and downloads Buildx 0.37.1 only when the same probe reproduces the bug.
Changes
--allow=fs.readerror naming the probe Dockerfile, download the official Linux x64 Buildx 0.37.1 binary and verify its pinned SHA-256 before installation.Security trade-off
Buildx 0.37.1 predates the security fixes in 0.37.2. In particular, it skips entitlement consent under Bake's raw-JSON progress mode used by Compose. The conditional probe limits when the downgrade is applied; it does not make the older version safe for untrusted builds. The action emits a warning whenever it downgrades.
This avoids per-job compilation but trades away security fixes, unlike #1330. No
BUILDX_BAKE_ENTITLEMENTS_FS=0override is set.Validation
npm run compileandnpm run precommitpassed.Removal
When the runner's installed Compose can build the external Dockerfile, the probe skips the downgrade automatically. Remove the workaround once affected runners ship a fixed Compose.