- 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 of
msocketrepo. - Refer RELEASING.md of
embedded-keycloakrepo - Refer RELEASING.md of
sbt-docsrepo. - Refer RELEASING.md of
rtmrepo. - Use the tagged version of above repos in csw repo.
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 CSW, we update them & use their latest tags.
These secondary packages include
msocket,embedded-keycloak,sbt-docs&rtm. - 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) incswrepo and link the migration guide Note - The version innotesshould be of format1.0.0 - Update top-level
CHANGELOG.md - Update top-level
README.md - Update top-level
INSTALL.md - Add changes mention in
CHANGELOG.mdofcsw-contractin top-levelCHANGELOG.md - Add changes mention in
CHANGELOG.mdofcsw-contractin the change section ofREADME.mdofcsw-contract - Add changes mention in
CHANGELOG.mdofcsw-contractin top-levelREADME.md - Add migration guide to
docs/src/main/migration_guideif this is the final release. - Bump up the
csw-contractversion (if needed) - Exclude projects from
build.sbtwhich you do not want to release - Update secondary packages versions if necessary (this step to be done only in milestone & RC release).
- Update latest RTM version in github and jenkins workflow files(this step to be done only in milestone & RC release).
- Update versions in
.github/workflows/release.ymlfor other repos likeESW_TS_VERSIONetc. which we will be releasing next. (These versions are used to create parameterized links in the documentation) - Run command
headerCheckAllinside sbt to verify that all files have a copyright header. - Commit and push the changes to
branch-<major>.<minor>.xbranch. - Make sure build is green for dev and paradox link check pipeline for this branch.
- Set
PROD=trueenvironment variable and Runrelease.sh $VERSION$script by providing version number argument.
For example, for version 5.0.1-RC, the command isPROD=true ./release.sh v5.0.1-RC1. (This triggers release workflow) - Applicable for final release only - Upgrade all the versions of all csw apps in here