feat: add SHA-256 checksum to release assets and verify in install script#3
feat: add SHA-256 checksum to release assets and verify in install script#3
Conversation
…ript release.yml now generates a .sha256 file alongside the tarball and uploads both to GitHub Releases. install.sh downloads and verifies the checksum before extracting, failing fast on mismatch.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughAdds SHA-256 checksum generation to the release workflow, updates the installer to download and verify checksum files before extracting binaries, and documents the verification prerequisites and install steps; also adds "coreutils" to the spell-check dictionary. Changes
Sequence Diagram(s)sequenceDiagram
participant CI as CI Workflow
participant GH as GitHub Release
participant User as User
participant Installer as install.sh
participant Artifact as Tarball+Sha256
CI->>Artifact: Build tarball
CI->>Artifact: Generate SHA-256 checksum
CI->>GH: Upload tarball and .sha256
GH-->>User: Release artifacts available
User->>Installer: Run install script
Installer->>User: Check prerequisites (curl, tar, sha256 tool)
Installer->>GH: Download tarball
Installer->>GH: Download .sha256
Installer->>Installer: Verify tarball matches checksum
alt Verification successful
Installer->>Artifact: Extract and install binary
else Verification failed
Installer->>User: Abort with error
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Adds SHA-256 checksums to published release artifacts and enforces checksum verification in the installer to improve download integrity.
Changes:
- Generate and upload a
.sha256file alongside the Linux tarball in the release workflow. - Update
install.shto download the checksum and verify it withsha256sum -cbefore extracting/installing. - Document the new checksum verification behavior and
sha256sumprerequisite.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
install.sh |
Downloads .sha256 and verifies the tarball checksum before extraction. |
docs/user-guide.md |
Documents checksum verification and required tooling. |
.github/workflows/release.yml |
Produces and uploads the .sha256 release asset. |
.cspell/dicts/project.txt |
Adds coreutils to project dictionary. |
Addresses review comment: sha256sum unavailable on macOS by default
|
@coderabbitai please review |
|
✅ Actions performedReview triggered.
|
Checklist
mainSummary
release.ymlgeneratesbl-x86_64-unknown-linux-gnu.tar.gz.sha256viasha256sumafter packaging and uploads both files as release assetsinstall.shdownloads the.sha256file alongside the tarball, runssha256sum -cto verify before extracting, and fails fast on mismatchdocs/user-guide.mdupdated to notesha256sumrequirement and describe checksum verificationReason for change
Downloaded binaries should be verifiable by users and scripts. Generating a checksum at release time and verifying it at install time closes the integrity gap without requiring additional tooling (GPG keys, SLSA, etc.).
Changes
.github/workflows/release.yml: add "Generate checksum" step; include.sha256in release assetsinstall.sh: addsha256sumto required-commands check; download and verify checksum before extractiondocs/user-guide.md: documentsha256sumprerequisite and verification behavior.cspell/dicts/project.txt: addcoreutilsSummary by CodeRabbit
New Features
Documentation
Chores