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