Skip to content

Publish signed installer checksums with every release - #558

Merged
abahmed merged 1 commit into
mainfrom
ci/release-sha256sums
Oct 18, 2026
Merged

abahmed merged 1 commit into
mainfrom
ci/release-sha256sums

Conversation

@abahmed

@abahmed abahmed commented Oct 18, 2026

Copy link
Copy Markdown
Owner

publish.yml (runs for every published release, RC and stable) now attaches two assets to the GitHub Release:

  • SHA256SUMS: sha256 of deploy/deploy.yaml and deploy/crd.yaml at the tag, one line each, named by that repo path (<sha> deploy/deploy.yaml). Hashed from git show <tag>:<path>, the bytes raw.githubusercontent.com serves, so kwatch.sh can verify what it fetches.
  • SHA256SUMS.sigstore.json: cosign keyless bundle, same identity as the existing release checksums (issuer https://token.actions.githubusercontent.com, identity ^https://github.com/abahmed/kwatch/.github/workflows/publish.yml@).

verify_published_artifacts downloads both, verifies the bundle, then fetches the two files from raw at the tag and runs sha256sum -c. The existing kwatch-<tag>-SHA256SUMS evidence and release.json schema are unchanged; the release notes link the new files.

Not done: pinning the deploy.yaml image by digest. The tag (and its deploy.yaml) is created by release.yml before publish.yml builds the image, so the digest does not exist yet at tag time; pinning would mean retagging or a post-build commit.

First release with the assets: v1.0.0-rc.20. actionlint and check-release-consistency pass locally; the workflow path only runs on a real release.

@abahmed
abahmed merged commit e728f9e into main Oct 18, 2026
12 checks passed
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.

1 participant