Skip to content

ci: Add crates.io trusted publishing on tag push#1086

Open
cgwalters wants to merge 1 commit into
coreos:mainfrom
cgwalters:crates-auto
Open

ci: Add crates.io trusted publishing on tag push#1086
cgwalters wants to merge 1 commit into
coreos:mainfrom
cgwalters:crates-auto

Conversation

@cgwalters
Copy link
Copy Markdown
Member

Adopt the same trusted-publishing approach used by bootc-dev/bootc so that cargo publish happens automatically when a v* tag is pushed, with no stored API tokens needed.

The new crates-release.yml workflow obtains an OIDC token via rust-lang/crates-io-auth-action and publishes idempotently (skips if the version is already on crates.io).

The release checklist is updated to note the automation, remove the now-unnecessary crates.io account requirements, and fix the vendor tarball extension (.tar.gz → .tar.zstd).

One-time setup: configure a trusted publisher on crates.io for the
bootupd crate (owner: coreos/bootupd, workflow: crates-release.yml).

Assisted-by: OpenCode (Claude Opus 4)

Adopt the same trusted-publishing approach used by bootc-dev/bootc
so that cargo publish happens automatically when a v* tag is pushed,
with no stored API tokens needed.

The new crates-release.yml workflow obtains an OIDC token via
rust-lang/crates-io-auth-action and publishes idempotently (skips
if the version is already on crates.io).

The release checklist is updated to note the automation, remove the
now-unnecessary crates.io account requirements, and fix the vendor
tarball extension (.tar.gz → .tar.zstd).

One-time setup: configure a trusted publisher on crates.io for the
bootupd crate (owner: coreos/bootupd, workflow: crates-release.yml).

Assisted-by: OpenCode (Claude Opus 4)
Signed-off-by: Colin Walters <walters@verbum.org>
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the release checklist and package configuration to transition toward automated crates.io publishing using trusted publishing (OIDC). Key changes include removing manual credential requirements from the checklist, updating the vendor archive format to Zstandard, and enabling publishing in the release metadata. Review feedback highlights that the referenced workflow file is missing from the PR, suggests maintaining the disable-publish setting in Cargo.toml to prevent accidental manual releases, and recommends using the standard .tar.zst file extension for better compatibility.

Comment thread .github/ISSUE_TEMPLATE/release-checklist.md
Comment thread Cargo.toml
Comment thread .github/ISSUE_TEMPLATE/release-checklist.md
@cgwalters cgwalters enabled auto-merge April 16, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant