crate-ci / cargo-release

Cargo subcommand `release`: everything about releasing a rust crate.
Apache License 2.0
1.33k stars 112 forks source link

Question: Workflow like google/release-please-action? #776

Closed linrongbin16 closed 6 months ago

linrongbin16 commented 6 months ago

hi, would you please compare git-cliff+cargo-release with google/release-please-action. now I am using it with github actions to automatically release project.

(in case we are not on the same page, let me introduce it a little)

the google release-please-action will run on every push for main branch, collect the conventional commits e.g. feat/fix/perf etc, and submit a release PR. The PR contains a changelog changes (similar to what git-cliff do), and a version bump in Cargo.toml for the rust project.

I can either merge the release PR or just leave it there. if I leave it there, in following push on main branch, release-please-action will continue force push the PR to update newer commits.

if I merge the release PR to main branch, it will trigger the release-please-action to do another thing: it will create a git tag (e.g. next version, for example v1.3.2), and publish the release in github.

since I am trying to create a rust/cargo project, and I can see in cargo community, git-cliff+cargo-release are more popular release tools. former for generate changelog, ladder for release+publish.

but how should I integrate these two tools with github actions? especially for the 2-steps workflow: submit release PR and publish after merge release PR? the docs didn't say too much about it, I am confused if I could do the same workflow with git-cliff+cargo-release.

epage commented 6 months ago

We don't have an action for something like this. https://github.com/MarcoIeni/release-plz is an alternative that does. imo there are a lot of challenges in supporting a workflow like this though as I enumerated when I evaluated release-plz, see https://github.com/MarcoIeni/release-plz/discussions/1019