Release 1.3.2
Information about the release
Relevant series
oldstable
Main reason driving the release
GitLab 16.9.4 security release
Task list
-
Omnibus
-
merge stabler branches into the relevant branch if needed -
if new upstream GitLab version, merge the corresponding CE tag, typically x+y+z+ce.0
into the relevant branch. Leave as draft but not in a topic, commit and push
-
-
Rails application
The release branch is e.g.,
heptapod-0-20
while the development branch isheptapod
,heptapod-stable
orheptapod-oldstable
.-
merge stabler development branches into the development branch (pipelines not really needed). -
start a topic from the head of the release branch (e.g, from heptapod-0-20
) -
merge the development branch into the release branch if needed. Commit. -
Merge new upstream GitLab version if needed. Commit. -
fill in HEPTAPOD_CHANGELOG Be sure to include the changes related to the stabler branches. If needed copy them from the stabler release branches, as these won't get merged. -
set HEPTAPOD_VERSION -
commit the changes in version files, push the topic and create a Merge Request targeting the release branch, with automatic merge upon pipeline completion (estimated time between 40 and 90 minutes depending on whether there is a GitLab upstream update) -
In case of GitLab upstream update, check that the pipeline contains the gitlab-prebuilds
job. -
once the topic is published by CI, pull -
create a tag on the release branch head without a topic (run hg topic --clear if needed
before) -
push the tag, don't publish it yet. The tag pipeline will push the source tarball to download.h.n and push a commit to reference it and a tag in Omnibus. The resulting pipeline in Omnibus will build the package for Ubuntu, then the Docker image, then trigger a full run of the functional tests on it, as a pipeline on heptapod-tests. - Docker image:
-
take note of the Docker image ID that the heptapod-tests CI jobs ran for -
retrieve the image built in the Omnibus pipeline, checking the Mercurial tag and the Docker image ID, and push it to Docker Hub, using the utility in heptapod/heptapod-docker>. Example: ``` ~/heptapod/docker $ ./registry-pull-heptapod-push-docker \ --push \ --podman \ --tag 0-32-testing \ --verify-hg-tag heptapod-0.32.1-1 \ --expected-image-id 0e976fdfa6733d4298025cd0b98ae36384863c8dd8d60ac7f9f979bb5d05b259 ``` Note: remove `--podman` if you prefer to use Docker instead.
-
retag the image as as octobus/heptapod:x.y.z
andoctobus/heptapod:latest
oroctobus/heptapod:x-y-latest
, and push the tags to Docker Hub, using thepush-release
script from heptapod/heptapod-docker>.
-
-
Finalisations
-
announce the release at least on Twitter and Mastodon -
publish the changesets in all repositories made during the process (don't forget Omnibus) -
Create group milestone for next point release, move all remaining issues bearing the milestone of this release to it. -
Close milestone for this release.