@@ -38,24 +38,34 @@ func (v *version) updateTxt() {
3838// if the chart had a patch bump, it will increment the patch version for the repoPrefixVersion
3939// if the chart had a minor or major bump, it will increment the minor version for the repoPrefixVersion
4040// the major repoPrefixVersion is only bumped when Rancher version is bumped.
41- func (b * Bump ) calculateNextVersion (ctx context.Context ) error {
41+ func (b * Bump ) calculateNextVersion (ctx context.Context , versionOverride string ) error {
4242 logger .Log (ctx , slog .LevelInfo , "calculate next version" )
4343
4444 // load versions and parse the repository prefix versions from them
4545 if err := b .loadVersions (); err != nil {
4646 return err
4747 }
4848
49- // check and parse the versions before building the new version
50- if err := b .applyVersionRules (); err != nil {
51- return err
52- }
49+ if versionOverride == "" {
50+ // check and parse the versions before building the new version
51+ if err := b .applyVersionRules (); err != nil {
52+ return err
53+ }
5354
54- // build: toRelease full version
55- targetVersion := b .versions .toReleaseRepoPrefix .txt + "+up" + b .versions .toRelease .txt
56- targetSemver := semver .MustParse (targetVersion )
57- b .releaseYaml .ChartVersion = targetVersion
58- b .Pkg .AutoGeneratedBumpVersion = & targetSemver
55+ // build: toRelease full version
56+ targetVersion := b .versions .toReleaseRepoPrefix .txt + "+up" + b .versions .toRelease .txt
57+ targetSemver := semver .MustParse (targetVersion )
58+ b .releaseYaml .ChartVersion = targetVersion
59+ b .Pkg .AutoGeneratedBumpVersion = & targetSemver
60+ } else {
61+ semverOverride , err := semver .Make (versionOverride )
62+ if err != nil {
63+ logger .Log (ctx , slog .LevelError , "invalid version override" , slog .String ("version" , versionOverride ), logger .Err (err ))
64+ return err
65+ }
66+ b .releaseYaml .ChartVersion = versionOverride
67+ b .Pkg .AutoGeneratedBumpVersion = & semverOverride
68+ }
5969
6070 logger .Log (ctx , slog .LevelDebug , "" , slog .String ("latestVersion" , b .versions .latest .txt ))
6171 logger .Log (ctx , slog .LevelDebug , "" , slog .String ("latestRepoVersion" , b .versions .latestRepoPrefix .txt ))
0 commit comments