-
Notifications
You must be signed in to change notification settings - Fork 144
Legion Release Process
Elliott Slaughter edited this page Sep 16, 2024
·
1 revision
by Sean Treichler, December 12, 2022
- Ideally 3+ weeks before the end of the month, prime the
CHANGES.txt
file by adding a section for the new release and a few changes for your areas and/or the general areas that nobody really owns. (Bonus points: push with-o ci.skip
to avoid wasting CI cycles on such a commit.) - Email everybody and set a target at least 1 week before the end of the month for folks to get changes listed (and any last-minute commits done).
- During these two weeks, nag people to document changes and also watch the github mirroring for the
master
branch. If it's not happening regularly, the full CI runs are failing and that should be cleaned up before the release. :) - Once
CHANGES.txt
is ready and you've got a recent-ish successful mirror commit to github, create anrc
branch based on that commit, and:- finalize
CHANGES.txt
(I usually set the release date 2 days in the future to account for testing latency, but I doubt anybody cares that much) - update the
VERSION
file for the new release name - push the branch to gitlab with
-o ci.skip
- no need to do a short CI run
- finalize
- From the web interface, kick off a full pipeline for the newly-pushed
rc
branch - Once the full pipeline passes, do a fast-forward merge (if it's not a fast-forward, something went wrong somewhere) to
stable
, and again push that with-o ci.skip
- From the web interface, kick off a full pipeline for stable, setting
MIRROR_OK
to1
. - Once that pipeline passes and the mirror happens, create the appropriately named tag and push it to both gitlab (again,
-o ci.skip
is your friend) and manually to github as well. - Press buttons on github to turn that tag into a release.
- Send email to the legion users list.
- Merge stable back into master and delete the
rc
branch.