REPOMATIC-PACK-ATTESTATION(1) REPOMATIC-PACK-ATTESTATION(1)

repomatic pack-attestation - Name an attestation bundle after the asset it attests

repomatic pack-attestation [OPTIONS]

Rename an attestation bundle after its subject, print the upload list.

actions/attest writes every bundle to the same `attestation.json` basename, so a release attaching several would keep only the last. This reads back the subjects the bundle actually attests, names it after them, and prints every file the release upload step should attach: the assets and their bundle, one path per line.

A bundle covering several assets has no single name to take, so pass --name to name the set instead.

With --require-declared, a file the project declares as an extra release asset but whose artifact never landed fails the command, before anything is attached: an immutable release could never gain it afterwards.

Idempotent: re-running copies the same bytes over the same name, and an upload replaces the assets of the same name.

Attestation bundle written by actions/attest.
[required]
Directory holding the attested assets, and where the bundle lands.
Stem naming the set, for a bundle attesting more than one asset.
Fail unless the bundle attests every file the release-assets setting of [tool.repomatic] declares.
Check the provenance of every attested asset with gh attestation verify. Needs --repo.
Attach the packed files to the release of this tag, replacing same-named assets. Needs --repo.
Repository the release belongs to. Defaults to $GITHUB_REPOSITORY.
Show this message and exit.

Attestation bundle written by actions/attest.
Directory holding the attested assets, and where the bundle lands.
Stem naming the set, for a bundle attesting more than one asset.
Fail unless the bundle attests every file the release-assets setting of [tool.repomatic] declares.
Check the provenance of every attested asset with gh attestation verify. Needs --repo.
Attach the packed files to the release of this tag, replacing same-named assets. Needs --repo.
Repository the release belongs to. Defaults to $GITHUB_REPOSITORY.
Repository the release belongs to. Defaults to $GITHUB_REPOSITORY.
Show this message and exit.

0
Success.
1
A runtime error, an aborted prompt (Ctrl-D), or a declined confirmation.
2
A usage error: unknown option, invalid value, missing operand, or an unparsable configuration file.
130
Interrupted with Ctrl-C: the process ends by SIGINT, reported as 130.

Single asset, named papaya.tar.gz.attestation.json

repomatic pack\-attestation \-\-bundle "${BUNDLE_PATH}"

A glob's worth of assets, all covered by one bundle

repomatic pack\-attestation \-\-bundle b.json \-\-dir dist \-\-name papaya\-set

Check the provenance, then attach to a release draft

repomatic pack\-attestation \-\-bundle "${BUNDLE_PATH}" \-\-verify \-\-upload\-to v1.2.3

Kevin Deldycke

2026-10-29 8.0.1.dev0