Skip to content

ci: automate releases with release-plz - #16

Merged
sksizer merged 1 commit into
mainfrom
ci/release-plz
Jul 14, 2026
Merged

sksizer merged 1 commit into
mainfrom
ci/release-plz

Conversation

@sksizer

@sksizer sksizer commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Replaces the local cargo-release flow with release-plz running in CI, mirroring the setup proven in rust-ontogen.

What changes

  • release-plz.toml — publish to crates.io on release-PR merge, GitHub Release per release, cargo-semver-checks gate, changelog via the existing cliff.toml.
  • .github/workflows/release-plz.yml — runs the release-plz action on every push to main.
  • release.toml removed — cargo-release is retired; one release path only.
  • justfile — release / release-dry-run recipes dropped; changelog and semver-check kept as local previews.
  • RELEASE.md — documents the end-to-end flow and prerequisites.

Flow after merge

Push to main → bot opens/updates a chore: release PR (version bump + changelog) → merging that PR tags v{version}, publishes to crates.io, and creates a GitHub Release.

Prerequisites

  • ✅ "Allow GitHub Actions to create and approve pull requests" — already enabled on this repo.
  • ⚠️ CARGO_REGISTRY_TOKEN secret — not set yet. Needed only at the publish step: gh secret set CARGO_REGISTRY_TOKEN -R sksizer/rust-path-opener.

Existing v{version} tags (latest v0.5.0, matching crates.io) are the baseline release-plz will diff from.

Replace the local cargo-release flow (release.toml, just release recipes)
with release-plz running in CI, mirroring the setup proven in rust-ontogen:
a bot opens a 'chore: release' PR on pushes to main; merging it tags,
publishes to crates.io, and creates a GitHub Release. Changelog generation
stays on the existing cliff.toml. See RELEASE.md for the full flow and
one-time prerequisites.
@sksizer
sksizer merged commit f06626a into main Jul 14, 2026
1 check passed
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