- Git authentication works by running cmd:
ssh -vT git@github.com - Node is installed
- npm module
junit-mergeis installed (for merging multiple xml test reports into one) - npm module
junit-vieweris installed (for generating html test report from merged xml)
Refer RELEASING.md in msocket
Refer RELEASING.md in embedded-keycloak
Refer RELEASING.md in sbt-docs
Refer RELEASING.md in kotlin-plugin
Refer RELEASING.md in csw
TMT work packages are released in incrementally. (M1 -> RC -> Final) A milestone release is cut from master branch as we expect bug fixes / feedback before making the final release.
- While making
Milestone(M*)release, we follow these ideas:
- Update transitive dependencies.
- Important bug fixes that we want in the major release.
- While making
RC-*release, we follow :
- We cut a branch from master, any changes on master from here onwards will not be considered for this current release.
- Do not update any third party dependencies.
If Secondary packages has some changes after M1 Release of ESW, we update them & use their latest tags.
These secondary packages include
msocket,sbt-docs,kotlin-plugin&embedded-keycloak. - Documentation related updates are allowed on this RC branch, because these changes won't be breaking anything code-wise.
- While making
Finalrelease, we follow:
- RC branch will be considered final & not the master branch.
- After getting the approval,
V*.*.*tag will be created.
-
Create a branch named
branch-<major>.<minor>.xif not already exists frommaster. Example branch namebranch-3.0.x. All subsequent release for this release cycle should be done on this branch. All further steps are to be done on this branch. -
Update release notes (
notes/<version>.markdown) Note - The version innotesshould be of format1.0.0 -
Update top-level
CHANGELOG.md -
Update top-level
README.md -
Update versions in
.github/workflows/release.ymlfor other repos likeCSW_VERSION,ESW_OCS_ENG_UI_VERSIONetc. which we will be releasing next. (These versions are used to create parameterized links in the documentation) -
Update latest RTM version in github and jenkins workflow files(this step to be done only in milestone & RC release).
-
Add changes mention in
CHANGELOG.mdofesw-contractin top-levelCHANGELOG.md -
Add changes mention in
CHANGELOG.mdofesw-contractin the change section ofREADME.mdofesw-contract -
Exclude projects from
build.sbtwhich you do not want to release -
Update dependent repo version in
Libs.scalaand CSW version (commit SHA) inbuild.properties -
Commit and push the changes to
branch-<major>.<minor>.xbranch and make sure build is green for dev and paradox link pipeline. -
Make sure build is green for dev and paradox link check pipeline for this branch.
-
Run
release.sh $VERSION$script by providing version number argument For example, for version 0.5.1-RC1, use the command./release.sh v0.5.1-RC1. (This triggers release workflow) -
Applicable for final release only - Upgrade all the versions of all esw apps in here
Note:
PROD=trueenvironment variable needs to be set before runningrelease.sh