CumulusCI icon indicating copy to clipboard operation
CumulusCI copied to clipboard

Versioning in CumulusCI Releases Does Not Support Full Versioning with Build Numbers

Open dipakparmar opened this issue 8 months ago • 1 comments
trafficstars

Our current release workflow follows these versioning practices: • Beta releases are created from dev branches whenever we merge into dev. • Managed releases are created when merging into main. • Beta versions do not increment the major/minor/patch numbers—only the build number increases.

When attempting to use the full major.minor.patch.build format in a CumulusCI GitHub release, it appears that: 1. CumulusCI only recognizes major.minor.patch and ignores .build. 2. If the last number is zero (e.g., 1.2.0), the created release/tag is named only as 1.2. 3. This results in potential overwrites since CumulusCI generates a tag from the version number without considering the build number.

Expected Behavior:

CumulusCI should support full major.minor.patch.build versioning or at least provide a way to avoid overwriting issues when using incremental build numbers.

Steps to Reproduce: 1. Create a release in CumulusCI using a version format like 1.2.0. 2. Observe that the release/tag is created as 1.2, ignoring the patch part.

Can someone confirm if CumulusCI does not support full versioning with build numbers? If so, is there a recommended workaround to prevent overwriting issues?

dipakparmar avatar Feb 26 '25 18:02 dipakparmar

What is the command you are using to create the version? By default, the flow release_2gp_beta creates a version and release in the full beta/major.minor.patch.build format.

I did find, when manually making a release, if you don't specify a build (or maybe if it is zero) AND patch is 0, then the trailing zero is dropped. But that is a special case for ending in zero, not a "patch is ignored"

yippie avatar Mar 21 '25 19:03 yippie