Curating a Release#
- UM Test Release
- Partner Testing
- Scientific Software Stack Update
- Shumlib Release
- Mule Release
- Other Repositories
- Jules Release
- UM Main Release
- LFRic Apps Release
- Release Notes
- Standard Suites
- Stash Browser
- UMDP Release
- Standard Jobs and Wiki Pages
- Repo and Shared Accounts Permissions
- Mid-Release Prebuilds
Release Issue#
Open a Release Curation Issue in the git_playground, using the release
Issue template.
Stable + Main Release#
This section describes the process of merging main and stable. It assumes that any required release changes have already been merged into main and that all sources in the dependencies.yaml file are as they should be. This section is relevant for all repositories with a stable and main branch setup.
The release process will be completed by 2 people with commit privilege to the
relevant repository, at least one of whom must be an admin. One will have
developed the release branch and the other will review it (developer and
reviewer below).
The developer should open a PR directly in the MetOffice repository by going to the Pull Requests tab and selecting the New Pull Request button. Target the
stablebranch.
The reviewer will then review and commit the PR. When committing the branch, ensure that the merge method is
merge. This should be the default for thestablebranch as we want to keep the history ofmainin thestablebranch.The developer will then create another new PR as above, to merge the
stablebranch intomain.
At this point an admin will need to modify the branch protection rules for the
mainbranch, so that the commit can be performed with a normal merge. This keepsmainandstablewith an identical history.Navigate to the
mainruleset.Disable
Require linear history.Set
mergeas an allowed merge strategy and disablesquash.
The reviewer can now
mergethe second PR.The admin must now revert the 2 settings above.
Pre-Release#
UM Test Release#
Dependencies
The point of the test release is to test the release system/process works
before we have to do it for real. Typically aim for 1-2 weeks before release
day. However, before a test release can be done, all changes to fcm-make
config files, major rose-stem changes (things like basic upgrade macro or KGO
updates don’t necessarily need to be included) and modifications to the
release_new_version.py script need to be on main, so this will cause some
variation as to when the test release is done from release to release.
Partner Testing#
Dependencies
All source code changes must be on main along with any rose-stem changes that
affect multiple sites before partner testing can start. Ideally the test
release will also have been completed.
Software Stack#
Dependencies Any potential changes to platform software stacks
Main Release#
Shumlib Release#
Dependencies All shumlib PRs
Mule Release#
Dependencies All mule PRs, Shumlib release (if required), UM release (to actually install)
Tag Other Repositories#
Dependencies All PRs for each repository.
Jules Release#
Dependencies Partner Testing, All Jules PRs committed
UM Main Release#
Dependencies All UM PRs, Test Release, Partner Testing, Jules Release
LFRic Apps Release#
Dependencies All LFRic PRs (Apps + Core), Jules Release
Post Release Tasks#
Release Notes#
Dependencies Most of this can be done pre-release but some details of commit hashes will be dependent on the main release being done.
Updating Standard Suites#
Dependencies UM + Apps Releases
Stash Browser#
Dependencies UM Release
UMDP Release#
Dependencies UM Release, Standard Suites Upgrade
Standard Jobs and Wiki Pages#
Dependencies UM + Apps Releases