AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
A signed release manifest for vendor binaries
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
packslip is a signed release manifest for software distributed as archives,
installers, or executables. Publish packslip.sigstore.json beside your
release files so consumers can verify their digests, select a platform,
and find executables, resources, and build provenance.
How packslip fits a release
explains the path from local build files to signed metadata and installation,
including which parts belong to the publisher, CLI, and consumer.查看完整 README ↗A packslip is a signed release manifest for software distributed as archives,
installers, or executables. A release publishes one file,
packslip.sigstore.json (the release bundle), beside its artifacts. An
installer, package manager, or mirror verifies the bundle against the
project's signer. It then reads which artifact suits the host, where the
executables are inside that artifact, and the digest the download must match.
It need not guess from file names or trust a checksum file served next to the
binary. The format is stable at version 1.
Add these permissions and this step to a tag-triggered release job, after the workflow builds the artifacts and uploads them to the GitHub release:
permissions:
contents: write # Upload the bundle to the release.
id-token: write # Sign with the workflow's identity.
attestations: write # Attest the matched files.
steps:
- uses: jdx/packslip@v1
with:
artifacts: dist/*.tar.xz dist/*.zip
bin: mytool
The action attests the matched files and signs a statement of their digests,
platforms, and executable paths with the workflow's identity. It verifies the
bundle and uploads it to the release. It uploads no artifacts and needs no
long-lived signing key. Users can then install mytool with
packslip install github.com/owner/mytool instead of curl | sh.
Warning: this one-job form gives the action contents: write. To
keep the action away from release write access,
run it in a job with contents: read and upload the bundle from a separate job.
For CI other than GitHub Actions, see Publish from other CI.
packslip install replaces curl | sh with a verified install. It finds a
tool's signed release and checks it against the name you asked for. It
installs the complete archive and puts the declared commands in a bin
directory. It runs no downloaded code. After you
install packslip:
packslip install github.com/jdx/hk
It supports GitHub projects and domain projects, which are named after a host,
such as mytool.example.com. It has no upgrade, list, or uninstall command.
See Bootstrap a tool.
When the bundle names a GitHub or GitLab project, packslip verify requires a
signer from that repository. It checks each --artifact against its digest in
the bundle:
curl -fLO https://github.com/jdx/hk/releases/download/v2.3.0/packslip.sigstore.json
curl -fLO https://github.com/jdx/hk/releases/download/v2.3.0/hk-x86_64-unknown-linux-gnu.tar.gz
packslip verify packslip.sigstore.json --artifact hk-x86_64-unknown-linux-gnu.tar.gz
The command trusts the project name the bundle claims, so check that the first
line of output begins ok: github.com/jdx/hk 2.3.0. To verify a domain
project, or to name the repository, signer fingerprint, or public key you
trust, see Verify a release.
The documentation index lists every guide. Start with one of these:
This repository holds the
specification source,
the CLI that publishes, verifies, and installs releases, and the Rust crate for
building consumers. It also holds two GitHub Actions: jdx/packslip publishes
a packslip, and jdx/packslip/releases builds a signed release list.
CONTRIBUTING.md
covers setup, checks, and documentation sources.
RELEASING.md covers
the maintainer release process. Report bugs and format feedback in
GitHub issues. Report a vulnerability
privately as SECURITY.md
describes.
Developed by Jeff Dickey (@jdx), author of mise, and Shunsuke Suzuki (@suzuki-shunsuke), author of aqua.
MIT; see LICENSE.