Jump to: navigation, search

Difference between revisions of "StarlingX/Release Process"

(Updates for 2.0)
Line 5: Line 5:
 
== Milestone ==
 
== 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.
 
* 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: <pre>SERIES=2018.07 stx-tools/release/branch-stx.sh</pre>
 
* 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: <pre>SERIES=2018.07 stx-tools/release/branch-stx.sh</pre>
Line 15: Line 16:
 
* 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.
 
* 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:
 
* Create the branches and tag them by running stx-tools/release/branch-stx.sh.  Set SERIES, BRANCH and TAG to the proper values:
** SERIES=YYYY.MM
+
** SERIES=stx.X.0
** BRANCH=r/YYYY.MM
+
** BRANCH=r/stx.X.0
** TAG=YYYY.MM.rc1
+
** TAG=vX.0.0.rc0
 
* Create the branch manifest in stx-manifest/default.xml
 
* Create the branch manifest in stx-manifest/default.xml
 
* Review and approve the .gitreview updates in the new branch
 
* Review and approve the .gitreview updates in the new branch
Line 27: Line 28:
 
== branch-stx.sh ==
 
== branch-stx.sh ==
  
Found in stx-tools/release, performs the following steps:
+
Found in stx-tools/release, performs the following steps for each repo listed on the command line:
* create repo list using getrepo.sh (also in stx-tools/release) to extract from stx-manifest/default.xml for the starlingx and stx-staging remotes
+
* 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:
 
* for each repo:
 
** clone repo
 
** clone repo
 
** create the new branch
 
** create the new branch
** tag branch
+
** tag branch if TAG is set
 
** for gerrit (starlingx) repos:
 
** for gerrit (starlingx) repos:
 
*** push to gerrit
 
*** push to gerrit

Revision as of 15:32, 2 August 2019

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