MarcoIeni / release-plz

Publish Rust crates from CI with a Release PR.

Home Page:https://release-plz.ieni.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Commits with "feat:" increment patchlevel version number

intgr opened this issue · comments

Bug description

I set up release-plz for my project rocket-sentry (release-plz.toml file). The GitHub Actions workflow is almost verbatim from Example: release-pr and release from docs.

I've tried to use feat: to signal a minor release bump, but release-plz is only bumping patch version.

First: intgr/rocket-sentry@b62415d commit starts with feat(deps):, but if you look at the initial version of this PR description (before my manual changes) intgr/rocket-sentry#68, release-plz wanted to update 0.16.0 -> 0.16.1

Second: intgr/rocket-sentry@18e8c50 commit with feat: and the PR created intgr/rocket-sentry#70 only bumps 0.17.0 -> 0.17.1

Logs from second run: https://github.com/intgr/rocket-sentry/actions/runs/7161770256/job/19497836806

Have I misconfigured something?

  • Would you like to work on a fix? [y/n] possibly, but I need help with troubleshooting

To Reproduce

Not sure exactly, maybe try running release-plz on my repository locally.

Expected behavior

The presence of a feat commit should result in a minor (not patch) version bump.

Environment

  • OS: Ubuntu 22.04.3 (GitHub Actions CI)
  • release-plz version: 0.3.32

Additional context

Another weird quirk is that running git cliff locally, git commit authors get added to changelog. But release-plz somehow does not preserve commit authors.

E.g. commit intgr/rocket-sentry@aa4df5a should have resulted in a line "Contributed by Hugo-C", but it was omitted in the changelog generated by release-plz in intgr/rocket-sentry#64. Relevant part of cliff.toml

Hi, thanks for the detailed bug report. This is the intended behavior.
I opened #1132 to document my reasoning better.
E.g. axum recently went from 0.6.x to 0.7.0 because they had breaking changes. Otherwise they would have continued with 0.6.x.

release-plz somehow does not preserve commit authors.

This is because release-plz uses its own default configuration:

fn default_changelog_body_config(release_link: Option<&str>) -> String {

Feel free to contribute to make it better :)

I opened #1132 to document my reasoning better.

Oh, I didn't make the connection that 0.x.y versions have different semantics in semver. Makes sense now.

I guess what I really want is a way to explicitly tell it what version digit to bump. Having to manually fix the version afterwards in multiple places is tedious and error prone.

I know! Having #704 would be awesome, but I'm not there yet. Help is appreciated of course :)

In the meantime you can use the set-version command from https://github.com/killercup/cargo-edit
but it doesn't update the changelog