ietf-tools / semver-action

GitHub Action to calculate the next release version based on conventional commits
BSD 3-Clause "New" or "Revised" License
56 stars 22 forks source link

Several minor changes were treated as single one #21

Closed RodionKorneev closed 1 year ago

RodionKorneev commented 1 year ago

Hello. Thanks you for this action. Some bug happened on the last use.

Given:

Expected behaviour:

Actual Behaviour:

Job log:

Comparing against latest tag: 1.86.0
[SKIP] Commit <hash> of type ci will not cause any version bump.
[MINOR] Commit <hash> of type feat will cause a minor version bump.
[PATCH] Commit <hash> of type fix will cause a patch version bump.
[PATCH] Commit <hash> of type fix will cause a patch version bump.
[MINOR] Commit <hash> of type feat will cause a minor version bump.
[MINOR] Commit <hash> of type feat will cause a minor version bump.
[MINOR] Commit <hash> of type feat will cause a minor version bump.
[MINOR] Commit <hash> of type feat will cause a minor version bump.
[MINOR] Commit <hash> feat will cause a minor version bump.
[SKIP] Commit <hash> of type ci will not cause any version bump.

>>> Will bump version 1.86.0 using MINOR

Current version is 1.86.0
Next version is v1.87.0

Such problems have not been appeared before

NGPixel commented 1 year ago

That's not how semver works...

The goal of semver is to indicate whether a new version has breaking changes, minor changes or just a patch. You don't add major, minor or patch commits on top of each other. Otherwise you'd be left with arbitrary version numbers with gaps that don't mean anything.

RodionKorneev commented 1 year ago

@NGPixel Sorry, maybe I was wrong... Сould you please help me understand how this works?

Do you mean that the numbers in version don't reflect the number of changes made from previos version? For example, bump from version 1.0.0 to version 1.1.0 means that the most breaking changes were those adding new functionality in a backwards compatible manner. It does not describe how many features or patches was addeed. So, each version should increase by 1 the value of only one of the Major/Minor/Patch groups, thus describing the backward compatibility level.

The exact number of changes and their description are contained in the version changelog.

Did I get the idea right?

NGPixel commented 1 year ago

That's correct.

RodionKorneev commented 1 year ago

Thank you a lot. I’m sorry for wasting your time because of my delusions...