Make the release process more repeatable
Existing process: https://openedx.atlassian.net/wiki/spaces/COMM/pages/19662426/Process+to+Create+an+Open+edX+Release#Make-a-release-or-release-candidate
Thing we found during the Nutmeg release that we want to be better next time:
- All repos should be in openedx org
- Remove/replace references to native installation
- The entire release page should be numbered
- have some way of remembering that we need to update things every release & point release
- The documentation steps that should have happened when nutmeg.master was made were never done.
- branch creation script didn't rollback changes when it crashed within
do_the_workwith a ReadTimeout
- we have too many release documentation pages (fyi @feanil )
- too many teams that sound like the "release" team: https://github.com/orgs/openedx/teams?query=release
- The week before the release:
- check all the "maybe" repos
- check that all the involved repos have permissions for community-release-managers
- need a step for "last-minute" repos that are added to release, including
- add it to the release team
- edit openedx.yaml
- create the nutmeg.master branch
- whether to create nutmeg.master from master, or back from the release cut date
- ensure CI is passing
- would like to compare list of repos with access to the list of repos we're trying to create branches in (@regisb )
- wiki page should be update with new additions to
tag_releasetool, namely the save-the-repo-list-to-a-file feature.
- maintainers need to backport security fixes into release branches
- who's job is it to make the blog post?
Need a way to check the permissions on all the repos at once. Perhaps a new tag_release option to make-then-delete a branch in each repo sequentially, showing the errors of the ones that fail.
The Maple transifex resources are different than Lilac and before. The wiki page says to do it the Lilac way. We don't know who made the Maple resources, probably the translation working group. We need to coordinate and agree on the right approach.
Just a ping for us to remember this ticket exists, and to do what we can during the Olive release.
During Olive cutting earlier today:
-
Steps 4 and 5 were skipped, as it doesn't make sense to test the Native Installation anymore. And while we could use Tutor to do it, it was decided that because of the recent addition of the Community Test Plan and the corresponding tests, and because the Tutor images were rebuilt only a few hours later, we could skip the tests.
-
We no longer need to drop the release manager permissions.
We've done what we can for Olive (@kdmccormick made changes to the release instructions), but there are still some wrinkles. Now bumping this to Palm, by which time we may consider closing it.
For each problem listed here, either:
- it's been fixed,
- it's an open comment on the release process doc, or
- it's this issue.
In general, anecdotally, it seems like the release process has become more repeatable since Nutmeg. @mtyaka has been able to transition into the role and lead releases without any major problems (as far as I know!)
Going to close this as a success 🎉 BTR, feel free to open a new issue for Palm+ if it seems necessary.