When translating the project to the "right rails" and implementing CI / git-flow, the following configuration vision appeared:

  • There is a "next-release" pipeline that serves directly the develop branch. In case of successful passage and decision on release, it generates a new release/$major.($minor + 1) branch release/$major.($minor + 1) with the $major.($minor + 1).0.$buildNumber
  • There is a release-maintenance pipeline that exists for validating hotfixes that have fallen into release branches and that generates the $major.$minor.($patch + 1).$buildNumber

buildNumber, in Feng Shui, should indicate the specific launch of Joba, in which the release was generated, so that you can see the logs in case of unforeseen circumstances. In case each pipeline simply sets its launch number, it results in confusion:

  • next-release # 1 -> v0.1.0.1
  • next-release # 2 -> v0.2.0.2
  • release-maintenance # 1 -> v0.2.1.1 // by patch> 0 it is possible to understand which pipeline is in question, but this does not give a universal identifier

In case the next-release pipeline number is always used, it is impossible to track the specific current-release build. There are two more obvious options left: prefix / suffix to buildNumber — 0.1.0.n1, 0.2.0.n2, 0.2.1.c1 will be obtained (but I’ve only seen this a couple of times, maybe) and specify both buildNumber but from this option it smells .

How is this done in serious projects?

    0