Skip to content

ci: skip windows release checksums and sigstore bundles - #3978

Merged
crazy-max merged 1 commit into
docker:masterfrom
crazy-max:ci-skip-sigstore-windows
Jul 28, 2026
Merged

ci: skip windows release checksums and sigstore bundles#3978
crazy-max merged 1 commit into
docker:masterfrom
crazy-max:ci-skip-sigstore-windows

Conversation

@crazy-max

Copy link
Copy Markdown
Member

This updates the Buildx release workflow so Windows artifacts are handled like Darwin artifacts before the external signing handoff.

Windows binaries are signed by a downstream workflow, which downloads the Buildx release assets, keeps the Darwin and Windows binaries, signs them, verifies the signatures, and uploads the signed binaries back to the release. Skipping Windows checksums here avoids publishing checksums for pre-signed binaries that will be replaced by the signing workflow.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
mv "sbom-binaries.spdx.json" "${filename}.sbom.json"
find . -name 'sbom*.json' -exec rm {} \;
if [[ "$binname" == *darwin* ]]; then
if [[ "$binname" == *darwin* ]] || [[ "$binname" == *windows* ]]; then

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have tracking issues for the remaining work for this? (wondering if a TODO + link is warranted here)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No public tracking issue that I know of yet. The intent here is to match the existing Darwin flow because Windows binaries will now be signed by the downstream workflow after the Buildx release assets are uploaded, so we should not publish checksums for the unsigned Windows binaries that will be replaced.

I will look to add something in our README.

@thaJeztah thaJeztah left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

left a suggestion

@crazy-max
crazy-max merged commit 4140767 into docker:master Jul 28, 2026
161 checks passed
@crazy-max
crazy-max deleted the ci-skip-sigstore-windows branch July 28, 2026 10:17
suzuki-shunsuke pushed a commit to aquaproj/aqua-registry that referenced this pull request Aug 29, 2026
* fix(docker/buildx): Windows has no Sigstore bundle from v0.36.0

Upstream stopped publishing Sigstore bundles for the Windows binaries -
15 bundles on v0.35.0, 13 from v0.36.0, with only windows-amd64 and
windows-arm64 missing. The binaries themselves are still published, so
only the cosign step fails.

This is deliberate. The v0.36.0 notes say "Windows release binaries are
now code-signed, matching the signing coverage already provided for
macOS release artifacts" (docker/buildx#3978), so Windows moved to the
model macOS already used - and the config already disables cosign for
macOS.

Split the `true` branch and add a windows override that disables cosign.
Only cosign is disabled there; checksums.txt verification stays on,
unlike darwin where the checksum is also disabled for an unrelated
upstream bug.

The boundary is the release candidate: v0.36.0-rc1 still ships the
Windows bundles and v0.36.0-rc2 is the first without them, so the split
is at semver("< 0.36.0-rc2").

Verified with aqua v2.62.3 on macOS 26.6.2 with checksum verification
enabled: v0.36.1 installs on windows/amd64, windows/arm64, linux/amd64
and darwin/arm64, v0.36.0 installs on windows, and v0.36.0-rc1, v0.35.0
and v0.30.1 are unaffected with the Windows bundle still verified on the
old branch. cosign is still enforced on linux in the new branch, which
reports Verified OK. `argd t docker/buildx` exits 0 for all six os/arch
targets.

pkg.yaml is left unchanged so the updater keeps ownership of the version
bump. This unblocks the 2 stuck update PRs for this package.

registry.yaml is regenerated by `argd gr`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* test(docker/buildx): pin v0.36.0-rc2 so CI exercises the new branch

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* test(docker/buildx): move the updater slot into the new branch

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants