Make 1.3 the stable Heptapod series
Description
Part of #1445 (closed)
Bumped series: stable Shifted series: default
Merging
Most tasks The goal is to merge the shifted branch into the bumped branch.
Unless explicitely stated, the branch names coincide with the series name as
defined above, hence for example a simple merge/commit with the bumped series
being oldstable
(and the shifted series being stable
) would be done with:
hg update oldstable
hg merge stable
hg commit
CI Images
-
heptapod-gitaly
-
merge, commit -
push skipping CI (will be triggered by heptapod-base
)
-
-
heptapod-base
-
merge, check/fix assets/install_pythonlibs
-
commit, push -
pipeline ok
-
-
hgitaly-rust
-
merge, commit, push -
pipeline ok
-
- mercurial/hg-current No change
Components that are forked from upstream GitLab
For these ones, the mapping from series to branch names is:
default: heptapod
stable: heptapod-stable
oldstable: heptapod-oldstable
-
Heptapod Shell
-
merge, commit in a topic -
push and create a Merge Request so that a pipeline runs -
pipeline ok
-
-
Heptapod Rails:
-
merge, don't commit -
Important check HEPTAPOD_SERIES
inheptapod-ci.yml
, it should match the bumped series. Release scripts will read this to know for which series they are working. A wrong value here gives rise to wildly inconsistent binary builds (Omnibus etc.). -
commit without topic, push (usually the diff is too big to open a MR).
-
Python components
-
HGitaly
-
merge, commit, push skipping pipeline
-
-
py-heptapod
-
merge, commit if needed, push -
pipeline ok (trigger manually if no merge changeset, so that it also triggers the dependent HGitaly pipeline)
-
Development, build and release tooling
-
-
merge and check the base image name in .gitlab-ci.yml
: it should be the target Heptapod version, e.g,0-21-testing
. -
commit in a topic, push, open MR. -
check that the pipeline uses the appropriate image. -
pipeline ok
-
-
Omnibus Heptapod (branch naming is like all forks,
heptapod
,heptapod-stable
etc.)-
merge the shifted branch, do not commit yet -
if changes in lib/
orfiles/
are non-trivial: commit them in a topic, start a MR to get a pipeline (it won't perform package builds). Otherwise, just push as draft without topic. -
pipeline ok if there was one -
merge the bumped branch into the release branch (e.g., heptapod-0-41
,heptapod-1.0
, etc). The diff should be empty or almost. Commit, push.
-
-
HDK: update the release-stable
orrelease-oldstable
entry inlib/gdk/config.rb
on theheptapod
branch (we have one single branch to rule all series as of this writing but that can change in face of big future structural changes). -
-
merge the bumped branch into the release branch (e.g., 'heptapod-0-21', 'heptapod-0-22' etc). The diff should be almost empty, especially if the shifted branch was fully merged in the release branch. -
check that the HEPTAPOD_SERIES
is correct inheptapod-ci.yml
(it is not if it was done in the same changeset as the merge ofheptapod
intoheptapod-stable
). -
commit in a topic, manually create MR with the Upstream merge
label, set to auto-merge. This will create the full pipeline with Omnibus and dependent Heptapod Tests pipeline -
Check that the Omnibus pipeline runs on the correct branch -
pipelines ok. Congratulations, both Rails merges are published and releases from the bumped series will be smooth.
-
-
-
update the gdk-*.yml
files for the affected series (commit/push) -
signal other developers that they must run ./heptapod-switch-new-stable
in their workspaces.
-
Edited by Georges Racinet