Branching Heptapod 1.1
Information
- New release version (
x.y
): 1.1 - Upstream GitLab minor version (
g.h
): 16.7 - New development version (
n.w
): 1.2 (expected not to be released, reserved version for a posteriori releases based on upstream versions that will be jumped over)
Preliminary for new development cycle
-
Perform the oldstable branches shift -
Make sure that HGitaly protocol files in default
branch are up to date with Gitalyg.h
and that heptapod/ci-images/heptapod-gitaly> uses Gitalyg.h
in itsdefault
branch.
Branching point
-
Omnibus: make sure that the first commit of the upstream release branch for g.h
is merged in theheptapod
branch and builds:hg merge "tag('g.h.0+rc42.ce.0')~1"
(we do not use the true branching point (
~2
) because all the GitLab component versions are set to development branches, hence not relevant in catchup times. To be revisited when we have at most a few days of lag). -
Rails, branch heptapod
: tag the chosen branching point asheptapod-x.y.0a0
. Push. -
wait for Omnibus and Heptapod Tests pipelines to confirm.
Release branch
-
Rails: create the heptapod-x-y
branch, starting from the changeset introducing thea0
tag, by copying over and completingHEPTAPOD_CHANGELOG
from the previous release branch and settingHEPTAPOD_VERSION
. -
Omnibus: create the heptapod-x-y
branch, starting from the changeset introducing thea0
tag. -
Heptapod Tests: start the heptapod-x-y
branch
Opening the new development cycle
-
Perform the stable branches shift. At this point heptapod-stable
is the developement branch matching theheptapod-x-y
branch -
Heptapod Tests, branch default: change the base image to n-w-testing
-
Omnibus, branch
heptapod
:-
change HEPTAPOD_VERSION
toheptapod-n.w.0.pre
-
CI/CD: change cache key in heptapod-ci.yml
-
Tag as heptapod-n.w.0.pre-1
. Caution: do not forget the-1
suffix. -
Pipeline fails because the pkg
jobs get a 404 in[Netfetcher: gitlab-rails]
(there is indeed no tarball forheptapod-n.w.0.pre
)
-
-
Rails, branch
heptapod
:-
change HEPTAPOD_VERSION
toheptapod.n.w.0.pre
-
CI/CD change cache key in heptapod-ci-yml
-
Commit, push, open regular MR. -
Pipeline succeeds. This ensures that subsequent MRs will not be polluted by problems introduced in this opening. -
Rebase existing topics on the current heptapod
branch, notably theupstream-merge
topic if present. -
Resume upstream conversion (e.g., solve existing Upstream merge issues).
-
Wrapping it up
-
Rails, release branch: create a tag heptapod-x.y.0a1
. This validates that release builds will work for thex.y
series