Skip to content

prerelease creates releases based on the last stable release, not the last prerelease #1685

@ryanobjc

Description

@ryanobjc

I am using prereleases extensively (we want build artifacts for all our prereleases for cluster pushes). I found recently that prerelease-label=dev seems to create releases even if the last commit was something like 'ci' which should, in theory, not be eligible for creating a new release.

This is the verbose output of my knope release run:

Loading package
Cargo.toml has version 1.0.2-dev.9
Looking for Git tags matching package name.
Running step PrepareRelease(PrepareRelease { prerelease_label: Some(Label("dev")), allow_empty: false, ignore_conventional_commits: false })
Getting conventional commits since last release of package 
Using commits since tag v1.0.1
commit fix: DGT-110 add sign and digital title
	implies rule PATCH
commit fix: DGT-110 add create digital title to cli
	implies rule PATCH
commit fix: DGT-110 cargo dist to use newer ubuntu
	implies rule PATCH
commit fix: DGT-110 use newer ubuntu
	implies rule PATCH
commit fix: DGT-110 dont have a linux arm64
	implies rule PATCH
commit fix: DGT-110 dont publish a release in knope
	implies rule PATCH
commit fix: DGT-110 dont forget to tag the release
	implies rule PATCH
commit fix: DGT-110 push tags, also debug log
	implies rule PATCH
commit fix: DGT-110 different push tags command
	implies rule PATCH
commit fix: DGT-110 new dist config to not create releases
	implies rule PATCH
Pre-release label dev selected. Determining next stable version...
Using PATCH rule to bump from 1.0.1 to 1.0.2
Found existing pre-release version dev.9
Running step Command { command: "git tag $version", variables: None, shell: None }
Running step Command { command: "git push origin $version", variables: None, shell: None }

So in this case my prior release was 1.0.2-dev.9 and I got a 1.0.2-dev.10, which was unexpected to me. I saw #213 which I am not sure how it fully interacts with my use case.

Is this a bug? Do I misunderstand how prereleases are supposed to work?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions