Repository navigation
Fix software docker builds when docker is podman - #1891
Merged
kevindetry-milaboratories merged 1 commit intoOct 7, 2026
Merged
Conversation
🦋 Changeset detectedLatest commit: f69c796 The changes in this PR will be included in the next version bump. This PR includes changesets to release 6 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1891 +/- ##
==========================================
+ Coverage 57.29% 57.34% +0.05%
==========================================
Files 446 446
Lines 23281 23309 +28
Branches 5245 5254 +9
==========================================
+ Hits 13338 13366 +28
+ Misses 8404 8403 -1
- Partials 1539 1540 +1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Podman, used as `docker` on some hosts, rejects `--provenance` (unknown flag) and `--sbom=false` (`--sbom` takes a scanner preset). Software image builds therefore failed with status 125 in `build:dev-local`, `build:dev-remote`, and block builds. Set `BUILDX_NO_DEFAULT_ATTESTATIONS=1` in the `docker build` environment instead. Docker buildx output does not change: - The variable disables the default provenance attestation, as `--provenance=false` did (buildx v0.10.4+). - SBOM attestations are off by default in buildx. - The image ID stays stable across identical rebuilds, so the content-addressed tag and the push skip keep working. Podman ignores the variable and builds a single-platform manifest without attestations. The legacy builder also accepts the build now. Add a unit test for the build arguments and environment.
kevindetry-milaboratories
force-pushed
the
package-builder-podman-attestations
branch
from
October 7, 2026 12:32
b8ebba9 to
f69c796
Compare
kevindetry-milaboratories
enabled auto-merge
October 7, 2026 15:36
AStaroverov
approved these changes
Oct 7, 2026
kevindetry-milaboratories
deleted the
package-builder-podman-attestations
branch
October 7, 2026 15:52
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.
Podman, used as
dockeron some hosts, rejects--provenance(unknown flag) and--sbom=false(--sbomtakes a scanner preset). Software image builds failed with status 125 inbuild:dev-local,build:dev-remote, and block builds.This PR sets
BUILDX_NO_DEFAULT_ATTESTATIONS=1in thedocker buildenvironment instead of the flags from #1613. Docker buildx output does not change: the variable disables the default provenance (buildx v0.10.4+), and SBOM is off by default. Podman ignores the variable.Tested:
build:dev-localin this repo and in a block,tests/package-builder, a push to a local registry, and a fullpnpm build:dev-remoteagainst the dev ECR and S3 (ECR login, push of ptabler and ptexter: single OCI manifests). Tags are stable across rebuilds.docker-build.test.tschecks the build arguments and environment.Note: buildx 0.10.0–0.10.3 ignores the variable. There, tags change on each rebuild again (re-push only). On podman, the
remoteImageExistspush skip never matches; this was already true before this PR and is not changed here.The PR appears safe to merge, with a non-blocking improvement to test cleanup.
Fix with agent prompt
Summary
Software image builds now set
BUILDX_NO_DEFAULT_ATTESTATIONS=1instead of passing flags that Podman rejects.Important touched terms:
docker.build: The function that builds software images. It replaces the attestation flags with a child-process environment setting.BUILDX_NO_DEFAULT_ATTESTATIONS: The buildx setting that turns off default attestations. Each build now forces it to"1".NodeJS.ProcessEnv: The type used for environment variables. The new test uses it to inspect the environment passed to the build.defaults.DOCKER_BUILD_PLATFORM: The target platform for software images. Its value is unchanged; the new test checkslinux/amd64.Acknowledged limitations:
remoteImageExistspush skip already fails to match. This unchanged behavior is not reported.Reviews (1) · Last reviewed commit: "Disable buildx attestations via env, not..." · Reviewed by Greptile