StarlingX/Release Process
Describe the steps in creating a StarlingX Release
Release Activity
Milestone
[Note: StarlingX has not used milestone branches since the 1.0 release (AKA 2018.10). ]
- Finalize any outstanding changes to master stx-manifest/default.xml, particularly for the starlingx and stx-staging remotes as those are used to create the list of repos to branch and tag.
- Create the branches and tag them by running stx-tools/release/branch-stx.sh. Set SERIES to the proper value if the current year/month is not correct:
SERIES=2018.07 stx-tools/release/branch-stx.sh
- Create the branch manifest in stx-manifest/default.xml
- Review and approve the .gitreview updates in the new branch
Release
- Make a cleanup pass though release notes and add missing
- Finalize any outstanding changes to master stx-manifest/default.xml, particularly for the starlingx and stx-staging remotes as those are used to create the list of repos to branch and tag.
- Create the branches and tag them by running stx-tools/release/branch-stx.sh. Set SERIES, BRANCH and TAG to the proper values:
- SERIES=stx.X.0
- BRANCH=r/stx.X.0
- TAG=vX.0.0.rc0
- Create the branch manifest in stx-manifest/default.xml
- Review and approve the .gitreview updates in the new branch
- Look for UPPER_CONSTRAINTS_FILE values to update for stable branches (there may not be any as this is an OpenStack-ism that we would change when rebasing OpenStack projects)
- Verify release notes appear correctly and make adjustments
Scripts
branch-stx.sh
Found in stx-tools/release, performs the following steps for each repo listed on the command line:
- if -m <manifest> is included on the command line add the repo list extracted from stx-manifest/default.xml for the starlingx and stx-staging remotes using getrepo.sh (also in stx-tools/release)
- for each repo:
- clone repo
- create the new branch
- tag branch if TAG is set
- for gerrit (starlingx) repos:
- push to gerrit
- update .gitreview
- for Github repos (stx-staging):
- push to github