release: .deb, .rpm and build provenance attestations; Nix flake #1
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
backmeupplz/plain!1
Loading…
Reference in a new issue
No description provided.
Delete branch "packaging-release-assets"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
First step of putting plain on package managers (agentboard #140). This is the part that needs no new accounts, repos or keys; the channels that do (Homebrew tap, npm
plain-evm, apt/dnf repo at pkg.getplain.org, AUR, crates.io) are tracked separately because they need Nikita's logins and approvals first.Release workflow
releasejob now also buildsplain_<version>_amd64.debandplain-<version>-1.x86_64.rpmfrom the Linux tarball with nfpm (Docker image pinned by digest, since it may receive the signing key). The .rpm is signed when the optionalPACKAGES_GPG_PRIVATE_KEYsecret exists and unsigned otherwise, so releases never wait on it.SHA256SUMScovers every asset; the installer'splain-$target.tar.gz$lookup is unchanged.actions/attest, pinned):gh attestation verify <file> -R backmeupplz/plain, and mise verifies them automatically.packaging/nfpm.yaml:
/usr/bin/plainplus the license;libc6 (>= 2.34), libgcc-s1/glibc >= 2.34, so too-old distros refuse cleanly instead of installing a binary that can't start.flake.nix / flake.lock:
nix run github:backmeupplz/plain -- testbuilds from source (cargoLock.lockFile, no hash to maintain; tests off because the fixture downloads solc).Docs: glibc floor corrected to 2.34 (RHEL 9 and Amazon Linux 2023 work), plus mise, Nix, .deb/.rpm and attestation verification.
Tested locally
libc6 (>= 2.34).rpm -K"digests signatures OK" and runs on fedora 44, rocky 9, amazonlinux 2023; unsigned build gives "digests OK".Not provable before a tag: the attestation step and the published release itself run only on a real
v*tag.Nix check (nixos/nix container, Linux arm64 host, so
aarch64-linuxwas added tosystemsin a test copy only):nix buildbuilds plain from source with the pinned nixos-unstable,./result/bin/plain --version→plain 0.3.1;nix flake check→ all checks passed.