fix(ci): install gitsemver from its raw release binary - #263
Merged
Conversation
The legacy gitsemver-v<version>-linux-amd64.tar.gz assets are produced by this repo own create_and_upload_build_artifacts job, which only runs when the caller passes build-release-artifacts: true. giantswarm/gitsemver#260 removed that input, so the next gitsemver release will not have a tarball and every release workflow in the org would 404 - exactly how schemalint action broke at v2.6.2. The pinned v2.0.1 predates the removal and ships both asset names, so this is a no-op today and correct afterwards. Verified the raw asset downloads and that "gitsemver --version" works on it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Aug 5, 2026
mproffitt
approved these changes
Aug 5, 2026
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.
Part of giantswarm/giantswarm#37347 — Lack of schema testing in github-workflows lets bugs pass
Pre-emptive fix for the same bug that broke
giantswarm/schemalint's action at v2.6.2 — found while investigating that outage (#262).What actually caused the schemalint outage
Not the
install-binary-actionbump, and not really schemalint. The legacy<repo>-v<version>-<platform>.tar.gzrelease assets are built by this repo, increate-release.yaml'screate_and_upload_build_artifactsjob — which only runs when the callerpasses
build-release-artifacts: true.The
chore: align files according to platform standardstemplate drops that input. Every repoit touches silently stops publishing tarballs at its next release, while
install-binary-action'sdefault
download_url(and every explicit tarball URL) still asks for them by name:build-release-artifactstruetrueWhy this matters here
We pin
gitsemver-v${version}-linux-amd64.tar.gzin four places. It resolves today only becausethe pinned
v2.0.1(2026-06-08) predates align-files #260 and therefore ships both assetnames. The next gitsemver release ships raw binaries only — and then
create-release.yamlandcreate-release-pr.yaml404 for every repo in the org, since they are consumed at@main.That is a much bigger blast radius than the schemalint incident, and it is armed right now.
The change
Four
Install gitsemversteps switch to the raw asset and droptarball_binary_path(extension-less URLs skip unarchiving —
install-binary-action>= v3.1.0):create-release-pr.yamlalready installsarchitectthis way, so this just makes gitsemverconsistent with it.
Verification
No-op today, correct tomorrow — both asset names exist at the pinned v2.0.1:
The
smoke_testis unchanged and still passes on the raw binary.Not changed
apptestctl(gitops-validate.yaml) keeps its tarball URL — it still passesbuild-release-artifacts: true, so its tarball is correct today. It becomes wrong the dayalign-files reaches it. The durable fix belongs in the align-files template and in
install-binary-action's default URL; both are being raised upstream.🤖 Generated with Claude Code