Skip to content

ci: automate releases with release-plz#13

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

ci: automate releases with release-plz#13
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 — the setup proven in rust-ontogen and just rolled out to rust-path-opener (sksizer/rust-path-opener#16). New repos created from this template get automated releases out of the box.

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. Includes a documented publish = false escape for non-published projects.
  • .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.
  • justfilerelease / release-dry-run recipes dropped; changelog and semver-check kept as local previews.
  • README.md — new Automated Releases section documenting the two one-time steps per templated repo: setting the CARGO_REGISTRY_TOKEN secret and enabling Allow GitHub Actions to create and approve pull requests (with gh one-liners for both).
  • RELEASE.md — the full flow, versioning rules, the tracked-and-gitignored gotcha, and the manual escape hatch.

Flow in templated repos

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.

Replace the local cargo-release flow (release.toml, just release recipes)
with release-plz running in CI, mirroring the setup proven in rust-ontogen
and rust-path-opener: 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.

README documents the two one-time steps each templated repo needs: the
CARGO_REGISTRY_TOKEN secret and enabling 'Allow GitHub Actions to create
and approve pull requests'. RELEASE.md covers the full flow, the
tracked-and-gitignored gotcha, and the manual escape hatch.
@sksizer
sksizer merged commit 72a5f33 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