-
The version of the release is determined by package.json. When
npm publish
is called, It tries to create a new release with that version. -
We don't want to create a new release everytime we push to master.
-
New features are merged to
master
branch.pre-submit
andpost-submit jobs
do the testing. They have the same functionality. -
There is a new branch called
release
that is only used by the release process. When we want to create a new release, we create a new branch from master with the new release name and runnpm version (lerna version)
locally and push to update versions in package.json. -
When we are satisfied with the release candidate, we open a PR to the
release
branch. The PR runspre-submit-release-job
, to test the project with the new versions. -
When PR is merged to
release branch
,post-submit-release-job
runspublish
command and uses kyma-project npm token to publish varkes to npm registry. -
The branch with the individual release name can be deleted. Different versions will be tracked by git tag created in step 2.
This approach allows us to have dummy version numbers in master. For each RC, we can define a custom version number and keep the version in master always 0.1.0. That way we don't have to merge back from release to master.