Make Heptapod 17.1 the oldstable series
<!-- This is a task list for when an Heptapod version changes status. Usually needed after an older version dropped out of support and we need the current development branch to move to the next release, hence current version has to become `stable` and older version has to become `oldstable`. This task list applies to a single one of these two shifts. --> ### Description Part of #1668 Bumped series: oldstable Shifted series: stable ### 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](https://foss.heptapod.net/heptapod/ci-images/heptapod-gitaly) + [x] merge, commit + [x] push skipping CI (will be triggered by `heptapod-base`) - [heptapod-base](https://foss.heptapod.net/heptapod/ci-images/heptapod-base/-/pipelines) + [x] merge, check/fix `assets/install_pythonlibs` + [x] commit, push + [x] pipeline ok - [hgitaly-rust](https://foss.heptapod.net/heptapod/ci-images/hgitaly-rust/-/pipelines) + [x] merge, commit, push + [x] pipeline ok - [mercurial/hg-current](https://foss.heptapod.net/heptapod/ci-images/mercurial/-/pipelines) + [x] merge, check Mercurial version in the `hg_current` job + [x] commit, push + [x] pipeline ok (check resulting Mercurial version) ### 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](https://foss.heptapod.net/heptapod/heptapod-shell/-/pipelines) + [x] merge, commit in a topic + [x] push and create a Merge Request so that a pipeline runs + [x] pipeline ok - [Heptapod Rails]: + [x] merge, don't commit + [x] **Important** check `HEPTAPOD_SERIES` in `heptapod-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.). + [x] commit without topic, push (usually the diff is too big to open a MR). ### Python components - [HGitaly](https://foss.heptapod.net/heptapod/hgitaly/-/pipelines) + [x] merge, commit, push skipping pipeline - [py-heptapod](https://foss.heptapod.net/heptapod/py-heptapod/-/pipelines) + [x] merge, commit if needed, push + [x] pipeline ok (trigger manually if no merge changeset, so that it also triggers the dependent HGitaly pipeline) ### Development, build and release tooling - [heptapod-tests](https://foss.heptapod.net/heptapod/heptapod-tests/-/pipelines): - [x] merge and check the base image name in `.gitlab-ci.yml`: it should be the target Heptapod version, e.g, `0-21-testing`. - [x] merge in the release branch (e.g, `17-1-testing`). The diff should be empty. - [x] push without pipeline if the diff was empty for the release branch. - [Omnibus Heptapod] (branch naming is like all forks, `heptapod`, `heptapod-stable` etc.) + [x] merge the shifted branch, commit + [x] merge the bumped branch into the release branch (e.g., `heptapod-17-0`, `heptapod-17.1`, etc). The diff should be empty or almost. + [x] push without pipeline if the diff was empty for the release branch. - [x] [HDK](https://foss.heptapod.net/heptapod/py-heptapod): update the `release-stable` or `release-oldstable` entry in `lib/gdk/config.rb` on the `heptapod` 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). - [Heptapod Rails]: + [x] 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. + [x] check that the `HEPTAPOD_SERIES` is correct in `heptapod-ci.yml` (it is not if it was done in the same changeset as the merge of `heptapod` into `heptapod-stable`). + [x] 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 + [x] Check that the Omnibus pipeline runs on the correct branch + [x] pipelines ok. Congratulations, both Rails merges are published and releases from the bumped series will be smooth. - [HDK Workspaces](https://foss.heptapod.net/heptapod/hdk-workspaces): + [x] update the `gdk-*.yml` files for the affected series (commit/push) + [x] signal other developers that they must run `./heptapod-switch-new-stable` in their workspaces. [Heptapod Rails]: https://foss.heptapod.net/heptapod/heptapod/-/pipelines [Omnibus Heptapod]: https://foss.heptapod.net/heptapod/omnibus-heptapod/-/pipelines
issue