Remove Debian 10 support.

As a consequence:

• Bump minimum supported Python version to 3.8.
• Move Vagrant environment to Ubuntu 20.04, which has Python 3.8.
• Move CI frontend tests to Ubuntu 20.04.
• Move production build test to Ubuntu 20.04.
• Move 3.4 upgrade test to Ubuntu 20.04.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2022-04-18 18:18:48 -07:00
committed by Alex Vandiver
parent a7e6cb7705
commit a543dcc8e3
24 changed files with 93 additions and 196 deletions

View File

@@ -30,13 +30,13 @@ jobs:
production_build:
# This job builds a release tarball from the current commit, which
# will be used for all of the following install/upgrade tests.
name: Debian 10 production build
name: Ubuntu 20.04 production build
runs-on: ubuntu-latest
# Docker images are built from 'tools/ci/Dockerfile'; the comments at
# the top explain how to build and upload these images.
# Debian 10 ships with Python 3.7.3.
container: zulip/ci:buster
# Ubuntu 20.04 ships with Python 3.8.10.
container: zulip/ci:focal
steps:
- name: Add required permissions
run: |
@@ -66,22 +66,22 @@ jobs:
uses: actions/cache@v2
with:
path: /srv/zulip-npm-cache
key: v1-yarn-deps-buster-${{ hashFiles('package.json') }}-${{ hashFiles('yarn.lock') }}
restore-keys: v1-yarn-deps-buster
key: v1-yarn-deps-focal-${{ hashFiles('package.json') }}-${{ hashFiles('yarn.lock') }}
restore-keys: v1-yarn-deps-focal
- name: Restore python cache
uses: actions/cache@v2
with:
path: /srv/zulip-venv-cache
key: v1-venv-buster-${{ hashFiles('requirements/dev.txt') }}
restore-keys: v1-venv-buster
key: v1-venv-focal-${{ hashFiles('requirements/dev.txt') }}
restore-keys: v1-venv-focal
- name: Restore emoji cache
uses: actions/cache@v2
with:
path: /srv/zulip-emoji-cache
key: v1-emoji-buster-${{ hashFiles('tools/setup/emoji/emoji_map.json') }}-${{ hashFiles('tools/setup/emoji/build_emoji') }}-${{ hashFiles('tools/setup/emoji/emoji_setup_utils.py') }}-${{ hashFiles('tools/setup/emoji/emoji_names.py') }}-${{ hashFiles('package.json') }}
restore-keys: v1-emoji-buster
key: v1-emoji-focal-${{ hashFiles('tools/setup/emoji/emoji_map.json') }}-${{ hashFiles('tools/setup/emoji/build_emoji') }}-${{ hashFiles('tools/setup/emoji/emoji_setup_utils.py') }}-${{ hashFiles('tools/setup/emoji/emoji_names.py') }}-${{ hashFiles('package.json') }}
restore-keys: v1-emoji-focal
- name: Build production tarball
run: ./tools/ci/production-build
@@ -114,15 +114,10 @@ jobs:
os: focal
extra_args: ""
- docker_image: zulip/ci:buster
name: Debian 10 production install with custom db name and user
os: buster
extra_args: --test-custom-db
- docker_image: zulip/ci:bullseye
name: Debian 11 production install
name: Debian 11 production install with custom db name and user
os: bullseye
extra_args: ""
extra_args: --test-custom-db
name: ${{ matrix.name }}
container:
@@ -209,10 +204,9 @@ jobs:
include:
# Docker images are built from 'tools/ci/Dockerfile'; the comments at
# the top explain how to build and upload these images.
- docker_image: zulip/ci:buster-3.4
- docker_image: zulip/ci:focal-3.4
name: 3.4 Version Upgrade
os: buster
os: focal
- docker_image: zulip/ci:bullseye-4.11
name: 4.11 Version Upgrade
os: bullseye

View File

@@ -18,19 +18,14 @@ jobs:
include:
# Base images are built using `tools/ci/Dockerfile.prod.template`.
# The comments at the top explain how to build and upload these images.
# Debian 10 ships with Python 3.7.3.
- docker_image: zulip/ci:buster
name: Debian 10 Buster (Python 3.7, backend + frontend)
os: buster
include_frontend_tests: true
# Ubuntu 20.04 ships with Python 3.8.2.
# Ubuntu 20.04 ships with Python 3.8.10.
- docker_image: zulip/ci:focal
name: Ubuntu 20.04 Focal (Python 3.8, backend)
name: Ubuntu 20.04 (Python 3.8, backend + frontend)
os: focal
include_frontend_tests: false
include_frontend_tests: true
# Debian 11 ships with Python 3.9.2.
- docker_image: zulip/ci:bullseye
name: Debian 11 Bullseye (Python 3.9, backend)
name: Debian 11 (Python 3.9, backend)
os: bullseye
include_frontend_tests: false
@@ -124,8 +119,9 @@ jobs:
run: |
source tools/ci/activate-venv
# Currently our compiled requirements files will differ for different python versions
# so we will run test-locked-requirements only for Debian 10.
# Currently our compiled requirements files will differ for different
# Python versions, so we will run test-locked-requirements only on the
# platform with the oldest one.
# ./tools/test-locked-requirements
# ./tools/test-run-dev # https://github.com/zulip/zulip/pull/14233
#
@@ -192,7 +188,7 @@ jobs:
fi
- name: Test locked requirements
if: ${{ matrix.os == 'buster' }}
if: ${{ matrix.os == 'focal' }}
run: |
. /srv/zulip-py3-venv/bin/activate && \
./tools/test-locked-requirements
@@ -216,7 +212,6 @@ jobs:
retention-days: 60
- name: Check development database build
if: ${{ matrix.os == 'focal' || matrix.os == 'bullseye' || matrix.os == 'jammy' }}
run: ./tools/ci/setup-backend
- name: Report status