feat: add build attestations and verification for installer binaries#22
Merged
zerosnacks merged 31 commits intomasterfrom Jan 22, 2026
Merged
feat: add build attestations and verification for installer binaries#22zerosnacks merged 31 commits intomasterfrom
zerosnacks merged 31 commits intomasterfrom
Conversation
b15ec24 to
1b56f47
Compare
5abfc31 to
e19802a
Compare
1b56f47 to
e5b0e3b
Compare
e5b0e3b to
fe98669
Compare
- Add all release targets to CI test matrix (musl, arm64) - Add platform and arch labels to matrix - Install musl-tools and cross-compilation tools for musl targets - Use BASE_DIR/FOUNDRY_DIR pattern matching foundry for XDG support - Add --yes alias for -y flag - Fix test to unset XDG_CONFIG_HOME
- Update release workflow to generate attestations using actions/attest-build-provenance@v3 - Record attestation URLs to .attestation.txt files included in releases - Add attestation verification to foundryup-init.sh installer script - Support --force/-f flag and FOUNDRYUP_SKIP_VERIFY env var to skip verification
Attestations are not yet available for current releases, so skip verification in the test to avoid failures when downloading.
The downloader function exits on 404, which caused the script to fail when attestations are not available. Use a new try_download function that silently returns non-zero on failure instead.
fe98669 to
d0bea6b
Compare
Closed
- Add get_ext helper function to return .exe for win32 platforms - Simplify attestation verification test to assert 'binary verified ✓' - Add tests for get_ext function - Remove redundant tests
onbjerg
approved these changes
Jan 21, 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.
Summary
This PR adds build attestation generation to the release workflow and verification to the installer script, improving supply chain security for foundryup.
Changes
Release Workflow (
.github/workflows/release.yml)permissions: {}at the top level to restrict default permissionsid-token: write- Required for OIDC token to sign attestationscontents: read- Required to read repository contentsattestations: write- Required to upload attestationsactions/attest-build-provenance@v3to generate attestations for each platform binary.attestation.txtfiles (e.g.,foundryup_linux_amd64.attestation.txt)Installer Script (
foundryup-init.sh)--force/-fflag to skip verification (setsFOUNDRYUP_IGNORE_VERIFICATION=true)get_exthelper function for Windows.exeextension handlingTests
script_get_ext_windowsandscript_get_ext_unixtests for extension helperscript_compute_sha256_known_valuetest for SHA256 computationscript_downloads_with_attestation_verificationtest asserting "binary verified ✓"script_downloads_with_force_skips_attestationtest for --force flagSecurity Benefits
Usage
Attestation verification happens automatically:
curl -L https://foundry.paradigm.xyz | bashTo skip verification (not recommended):
curl -L https://foundry.paradigm.xyz | bash -s -- --force