Download hardening: sha256 pin + mirror base URL + Forgejo namespace note #7

Merged
stephen merged 1 commit from feat/download-hardening into main 2026-06-23 21:00:03 +00:00
Owner

Closes #5, #6, #3.

Why: sccache-action trusted the run-time-fetched sidecar and hardcoded the GitHub release origin, blocking air-gapped runners and weakening reproducibility.

  • Optional sha256 input: when set, the downloaded tarball is compared against it and fails closed on mismatch (#6). Unset keeps sidecar-verified behavior.
  • Optional download-base-url input: fetch tarball + .sha256 sidecar from an internal mirror, checksum still enforced (#5). Unset keeps the GitHub origin.
  • README note: self-test actions/checkout@v6 needs the Forgejo actions/ namespace mirror or the full-URL form (#3). Consumers unaffected.
  • SECURITY.md updated.

Testing: tests/run.sh (incl. digest-mismatch path). Defaults preserve current behavior.

DO NOT MERGE: lead/operator review.

Closes #5, #6, #3. Why: sccache-action trusted the run-time-fetched sidecar and hardcoded the GitHub release origin, blocking air-gapped runners and weakening reproducibility. - Optional `sha256` input: when set, the downloaded tarball is compared against it and fails closed on mismatch (#6). Unset keeps sidecar-verified behavior. - Optional `download-base-url` input: fetch tarball + .sha256 sidecar from an internal mirror, checksum still enforced (#5). Unset keeps the GitHub origin. - README note: self-test `actions/checkout@v6` needs the Forgejo actions/ namespace mirror or the full-URL form (#3). Consumers unaffected. - SECURITY.md updated. Testing: tests/run.sh (incl. digest-mismatch path). Defaults preserve current behavior. DO NOT MERGE: lead/operator review.
Harden sccache downloads
All checks were successful
test / integration (pull_request) Successful in 26s
test / unit (pull_request) Successful in 29s
test / install (v0.14.0) (pull_request) Successful in 6s
test / install (v0.15.0) (pull_request) Successful in 5s
test / install-without-v-prefix (pull_request) Successful in 5s
test / reinstall-on-version-change (pull_request) Successful in 6s
d0b2814bde
Sign in to join this conversation.
No description provided.