- Git authentication works by running cmd:
ssh -vT [email protected]
- Node is installed
- npm module
junit-merge
is installed (for merging multiple xml test reports into one) - npm module
junit-viewer
is 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
Final
release, 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>.x
if 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 innotes
should be of format1.0.0
-
Update top-level
CHANGELOG.md
-
Update top-level
README.md
-
Update versions in
.github/workflows/release.yml
for other repos likeCSW_VERSION
,ESW_OCS_ENG_UI_VERSION
etc. 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.md
ofesw-contract
in top-levelCHANGELOG.md
-
Add changes mention in
CHANGELOG.md
ofesw-contract
in the change section ofREADME.md
ofesw-contract
-
Exclude projects from
build.sbt
which you do not want to release -
Update dependent repo version in
Libs.scala
and CSW version (commit SHA) inbuild.properties
-
Commit and push the changes to
branch-<major>.<minor>.x
branch 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=true
environment variable needs to be set before runningrelease.sh