Skip to content

feat(install): verify downloaded archives against pinned checksums - #88

Open
potiuk wants to merge 2 commits into
orhun:mainfrom
potiuk:verify-sha512
Open

potiuk wants to merge 2 commits into
orhun:mainfrom
potiuk:verify-sha512

Conversation

@potiuk

@potiuk potiuk commented Oct 31, 2026

Copy link
Copy Markdown

Closes #87.

  • checksums.sha256 pins the SHA-256 of every git-cliff release archive (Linux, macOS and Windows); install.sh checks the download against it before unpacking and fails on a mismatch or an unpinned archive. Nothing is fetched at verification time.
  • The weekly sync workflow appends the new release's checksums (GitHub's asset digests) when it bumps the version, and fails if a digest is missing.
  • README: one sentence under the version input.

Where the checksums come from: GitHub's recorded asset digests for v2.9.0+; older archives were downloaded and hashed, and all 445 that ship a .sha512 matched it.

One behaviour change: version: latest fails in the window between a git-cliff release and the sync PR merging, since that version isn't pinned yet.

Test plan: ran install.sh with a stubbed curl against the real v2.14.2 assets: pinned archive installs, tampered tarball fails with a mismatch error, unpinned version fails. The Action Test workflow covers the Linux path end to end.

🤖 Generated with Claude Code

git-cliff releases publish a .sha512 next to each tarball. Check it
before unpacking and fail on mismatch or when it is missing. Windows
zips ship no checksum yet, so they are skipped with a warning.

Closes orhun#87

Generated-by: Claude Opus 5
Replace the runtime .sha512 download with SHA-256 checksums of every
git-cliff release archive pinned in checksums.sha256. An unpinned
archive or a mismatch fails the step. Windows zips are covered too.

Checksums come from GitHub's asset digests where recorded; older
archives were downloaded and hashed, and cross-checked against the
published .sha512 where one exists. The sync workflow appends the new
release's digests when it bumps the version.

Generated-by: Claude Opus 5
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.

install.sh downloads git-cliff without verifying the shipped .sha512 / .sig

1 participant