Release 0.25.0rc1
Information about the release
Relevant series
default
Main reason driving the release
Jump to GitLab 14.2
Task list
-
py-heptapod: no change since Heptapod 0.24.1
-
HGitaly: if there are changes to include in the relevant branch (
default
,stable
oroldstable
).Don't forget changesets from stabler branches.
- stable branch is already fully merged
-
set the version in
hgitaly/VERSION
, commit -
run
$python setup.py sdist and
push to PyPI with twine -
tag accordingly to the pushed version (
hg tag 1.2.3
) -
set a new development version in
hgitaly/VERSION
, such as1.2.4dev0
(no dot for proper interpretation by the Rails app); commit - push and publish these three changesets
-
Heptapod Shell: same version as in Heptapod 0.24.1
-
Omnibus
- stable branch is already fully merged
-
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,
heptapod-0-20
) - merge the development branch into the release branch 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
- update HEPTAPOD_SHELL_VERSION if needed
- update the requirements files in the python subdirectory if needed
-
commit those changes and push the topic – if there is an upstream
GitLab version change, this creates a pipeline with the
gitlab-prebuilds
job. Wait for its successful completion (expected time 1h). - topic publication: create a Merge Request for the topic, select auto-merge on success (expected time 0.5h)
- 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:
- double check that the heptapod-tests CI jobs did run for the image built in the Omnibus pipeline.
-
retrieve the image built by the Omnibus pipeline from registry.h.n,
retag it as
octobus/heptapod:x.y.z
andoctobus/heptapod:latest
- Docker push for those two image tags.
Finalisations
- announce the release at least on Twitter and Mastodon
- publish the changesets in all repositories made during the process (don't forget Omnibus)
- no milestone to close and create for RC releases
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information