Open arazabishov opened 4 years ago
Here are steps in the release build job:
git merge --no-commit master
git add .
git merge --continue
Thanks for the response @kenotron . After taking a closer look at the implementation steps at Midgard together with @bweggersen, we have realized that a few intermediate implementation steps are missing in the proposal:
beachball bump --since <REF>
.publish
without executing bump
and revert, i.e. steps 1, 2, and 8 from the publish documentation.
Challenges
The current bumping flow of the Beachball introduces a few challenges:
Potential inconsistency
The process of version bumping in Beachball is not atomic, creating the possibility of inconsistency between versioning on master/dev branches and artifacts published to NPM. In relatively small repositories that are quick to build are not as prone to this issue as larger mono repositories that take more than an hour to build.
For example, if a PR is submitted to master shortly after
beachball publish
is executed, the PR may be merged with the master before the version update from Beachball. This results in a state, where the artifacts published to NPM do not correspond to any commit on master.Proposal
Introduce a
master/dev
branch and arelease
branch. All PRs are supposed to target thedev
branch. Beachball will merge changes from thedev
branch to therelease
branch and update versions in the process. Versions are only maintained on the release branch, including thechangelog
files. Only one Beachball merge process can be executed at a time. Artifacts are built and released based on the release branch only.cc: @khovik, @VincentBailly, @bweggersen