Skip to content

ci: Gate Bake filesystem workaround on affected Compose versions - #1332

Merged
Christof Marti (chrmarti) merged 1 commit into
mainfrom
ci/compose-version-entitlements
Oct 21, 2026
Merged

Christof Marti (chrmarti) merged 1 commit into
mainfrom
ci/compose-version-entitlements

Conversation

@chrmarti

@chrmarti Christof Marti (chrmarti) commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Minimal alternative to #1330 (build fixed Compose) and #1331 (probe then downgrade Buildx). This independent branch starts from main; both other PRs remain unchanged.

  • Add an 18-line shared composite action and one setup-action invocation per affected workflow (21 added lines total).
  • Read docker compose version --short and set BUILDX_BAKE_ENTITLEMENTS_FS=0 through GITHUB_ENV only for exact versions 2.38.2 (Linux matrix runner) and 5.6.0 (Docker 29 job), accepting an optional leading v.
  • Leave every other version and its environment unchanged. A failed version command fails setup.
  • Run the setup directly before the matrix tests / Docker 29 combined install-and-test step. It affects subsequent steps in those jobs only; registry-compatibility, Windows, Docker 20, and other jobs are unchanged.
  • No probe builds, downloads, source builds, tool downgrades, GitHub API calls, or permission changes.

Related to #1320 and the upstream fix in docker/compose#14325.

Trade-off

The flag disables Bake filesystem read/write approval and default SSH-agent consent checks in the affected processes. The action emits a warning when setting it. It does not disable the other Bake consent checks (host networking, insecure execution, devices, or stale-output deletion) and retains current Buildx and its other fixes.

This is limited to our GitHub-hosted test jobs, which already run the checked-out code directly with Docker access. It is not intended as a general recommendation for developer machines or secret-bearing/self-hosted jobs.

An exact-version guard intentionally does not assume a first fixed release: later versions do not get the override, even if the upstream fix has not shipped yet. Remove the workaround once affected runners ship working Compose.

Validation

  • npm run compile and npm run precommit passed.
  • YAML and embedded Bash syntax checks passed.
  • 12 local cases passed: both exact versions with/without v, nearby and future versions, prerelease/development versions, and version-command failure. Verified existing environment entries are preserved and the shared action immediately precedes test execution.
  • All 51 PR checks passed, including Linux CI and Docker 29. Logs confirm the version guards matched Compose 2.38.2 and 5.6.0 respectively, set the flag for the test steps, and kept Compose unchanged; both cli.up suites passed 21 tests.

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>
@chrmarti
Christof Marti (chrmarti) marked this pull request as ready for review October 21, 2026 06:27
@chrmarti
Christof Marti (chrmarti) requested a review from a team as a code owner October 21, 2026 06:27
@chrmarti
Christof Marti (chrmarti) merged commit 93163cb into main Oct 21, 2026
51 checks passed
@chrmarti
Christof Marti (chrmarti) deleted the ci/compose-version-entitlements branch October 21, 2026 09:31
Christof Marti (chrmarti) added a commit that referenced this pull request Oct 22, 2026
Cover all stable 2.38.x and 5.6.x releases, including the Go security update in Compose 5.6.1 that still lacks the external-Dockerfile fix. Preserve other minor versions and prerelease/development builds. Follow-up to #1332 to unblock CI on #1329.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

2 participants