ci: Test upgrades from the minimum of each major version, not the max.

This commit is contained in:
Alex Vandiver 2022-07-15 17:34:09 -07:00 committed by Tim Abbott
parent 61fce82b0b
commit f8e2d652e1
4 changed files with 18 additions and 23 deletions

View File

@ -213,16 +213,16 @@ jobs:
fail-fast: false
matrix:
include:
# Docker images are built from 'tools/ci/Dockerfile'; the comments at
# Docker images are built from 'tools/ci/Dockerfile.prod'; the comments at
# the top explain how to build and upload these images.
- docker_image: zulip/ci:focal-3.4
name: 3.4 Version Upgrade
- docker_image: zulip/ci:focal-3.2
name: 3.2 Version Upgrade
os: focal
- docker_image: zulip/ci:bullseye-4.11
name: 4.11 Version Upgrade
- docker_image: zulip/ci:bullseye-4.2
name: 4.2 Version Upgrade
os: bullseye
- docker_image: zulip/ci:bullseye-5.3
name: 5.3 Version Upgrade
- docker_image: zulip/ci:bullseye-5.0
name: 5.0 Version Upgrade
os: bullseye
name: ${{ matrix.name }}

View File

@ -78,15 +78,6 @@ preparing a new release.
- The DigitalOcean one-click image will report in an internal channel
once it is built, and how to test it. Verify it, then publish it
publish it to DigitalOcean marketplace.
- Update the CI targets:
- _Major releases only:_ In all of the following steps, _also_
bump up the series that are being tested.
- Update the version in `tools/ci/build-docker-images`
- Run `tools/ci/build-docker-images`
- Push at least the latest of those, e.g. using `docker push zulip/ci:bullseye-4.11`; update the others at your discretion.
- Update the `docker_image` in the `production_upgrade` step of
`.github/workflows/production-suite.yml`.
- Commit those two changes in a PR.
- _Major releases only:_
- Create a release branch (e.g. `4.x`).
- On the release branch, update `ZULIP_VERSION` in `version.py` to
@ -101,6 +92,10 @@ preparing a new release.
- Update Transifex to add the new `4.x` style release branch
resources and archive the previous release branch's resources with
the "Translations can't translate this resource" setting.
- Add a new CI production upgrade target:
- Build a docker image: `cd tools/ci && docker build . -f Dockerfile.prod --build-arg=BASE_IMAGE=zulip/ci:bullseye --build-arg=VERSION=5.0 --tag=zulip/ci:bullseye-5.0 && docker push zulip/ci:bullseye-5.0`
- Add a new line to the `production_upgrade` matrix in
`.github/workflows/production-suite.yml`.
- _Minor releases only (e.g. 3.2):_
- On the release branch, update `ZULIP_VERSION` to the present
release with a `+git` suffix, e.g. `3.2+git`.

View File

@ -1,7 +1,10 @@
# To build these production upgrade test images, say an Ubuntu 20.04 Focal system
# preinstalled with Zulip 3.4:
# docker build . -f Dockerfile.prod --build-arg=BASE_IMAGE=zulip/ci:focal --build-arg=VERSION=3.4 --tag=zulip/ci:focal-3.4
# docker push zulip/ci:focal-3.4
# To build these production upgrade test images, say an Debian 11 Bullseye system
# preinstalled with Zulip 5.0:
# docker build . -f Dockerfile.prod \
# --build-arg=BASE_IMAGE=zulip/ci:bullseye \
# --build-arg=VERSION=5.0 \
# --tag=zulip/ci:focal-5.0
# docker push zulip/ci:focal-5.0
ARG BASE_IMAGE
FROM $BASE_IMAGE

View File

@ -4,6 +4,3 @@ cd "$(dirname "${BASH_SOURCE[0]}")"
docker build . --build-arg=BASE_IMAGE=ubuntu:20.04 --pull --tag=zulip/ci:focal
docker build . --build-arg=BASE_IMAGE=ubuntu:22.04 --pull --tag=zulip/ci:jammy
docker build . --build-arg=BASE_IMAGE=debian:11 --pull --tag=zulip/ci:bullseye
docker build . -f Dockerfile.prod --build-arg=BASE_IMAGE=zulip/ci:focal --build-arg=VERSION=3.4 --tag=zulip/ci:focal-3.4
docker build . -f Dockerfile.prod --build-arg=BASE_IMAGE=zulip/ci:bullseye --build-arg=VERSION=4.11 --tag=zulip/ci:bullseye-4.11
docker build . -f Dockerfile.prod --build-arg=BASE_IMAGE=zulip/ci:bullseye --build-arg=VERSION=5.3 --tag=zulip/ci:bullseye-5.3