allegro/axion-release-plugin

`VersionConfig#releaseBranchPattern` doesn't update release branch pattern when used together with `incrementMinorIfNotOnRelease` incrementer

Open

#396 opened on Mar 31, 2021

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Groovy (161 forks)batch import
bughacktoberfesthelp wanted

Repository metrics

Stars
 (628 stars)
PR merge metrics
 (Avg merge 2d 7h) (8 merged PRs in 30d)

Description

Originally reported in: https://github.com/allegro/axion-release-plugin/issues/391#issuecomment-811393047

Given following config

scmVersion {
   
    versionIncrementer = PredefinedVersionIncrementer.versionIncrementerFor('incrementMinorIfNotOnRelease')
    releaseBranchPattern = Pattern.compile('^random(/.*)?$')
}

and according to the documentation

If incrementMinorIfNotOnRelease rule is activated then the property releaseBranchPattern is used to match the release branch. By default it's set to 'v/.+'.

the plugin should increment patch version when on random/x.y.z branch, minor in all other cases.

It seems like is was broken since at least 1.11.0.

Sample repository

https://github.com/mateuszkwiecinski/axion_playground

Expected result

when on release/7.8.9 the plugin returns 7.9.0-SNAPSHOT version when on master the plugin reports 7.9.0-SNAPSHOT when on random/7.8.9 the plugin prints 7.8.10-SNAPSHOT when on v/7.8.9 the plugin prints 7.9.0-SNAPSHOT

Actual result

(tested on 1.13.1) when on release/7.8.9 the plugin returns 7.9.0-SNAPSHOT version when on master the plugin reports 7.9.0-SNAPSHOT when on random/7.8.9 the plugin prints 7.9.0-SNAPSHOT ❌ when on v/7.8.9 the plugin prints 7.8.10-SNAPSHOT

Known workaround

use versionIncrementer overload

scmVersion {
    versionIncrementer 'incrementMinorIfNotOnRelease', [releaseBranchPattern: 'random/.*']
}

Contributor guide