Drop ubuntu 20.04, require py39, traefik-proxy v2, and ldapauthenticator v2 #697
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is a GitHub workflow defining a set of jobs with a set of steps. | |
# ref: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions | |
# | |
name: Unit tests | |
on: | |
pull_request: | |
paths-ignore: | |
- "docs/**" | |
- "**.md" | |
- ".github/workflows/*" | |
- "!.github/workflows/unit-test.yaml" | |
push: | |
paths-ignore: | |
- "docs/**" | |
- "**.md" | |
- ".github/workflows/*" | |
- "!.github/workflows/unit-test.yaml" | |
branches-ignore: | |
- "dependabot/**" | |
- "pre-commit-ci-update-config" | |
workflow_dispatch: | |
jobs: | |
unit-tests: | |
name: ${{ matrix.name }} | |
# runs-on can only be configured to the LTS releases of ubuntu (18.04, | |
# 20.04, ...), so if we want to test against the latest non-LTS release, we | |
# must compromise when configuring runs-on and configure runs-on to be the | |
# latest LTS release instead. | |
# | |
# This can have consequences because actions like actions/setup-python will | |
# mount cached installations associated with the chosen runs-on environment. | |
# | |
runs-on: ${{ format('ubuntu-{0}', matrix.runs_on || matrix.ubuntu_version) }} | |
container: ubuntu:${{ matrix.ubuntu_version }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: "Ubuntu 20.04, Py 3.9" | |
ubuntu_version: "20.04" | |
python_version: "3.9" | |
- name: "Ubuntu 22.04, Py 3.10" | |
ubuntu_version: "22.04" | |
python_version: "3.10" | |
- name: "Ubuntu 24.04, Py 3.12" | |
ubuntu_version: "24.04" | |
python_version: "3.12" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "${{ matrix.python_version }}" | |
- name: Install venv, git, pip and setup venv | |
run: | | |
export DEBIAN_FRONTEND=noninteractive | |
apt-get update | |
apt-get install --yes \ | |
python3-venv \ | |
python3-pip \ | |
bzip2 \ | |
git | |
python3 -m venv /srv/venv | |
echo '/srv/venv/bin' >> $GITHUB_PATH | |
- name: Install Python dependencies | |
run: | | |
pip install -r dev-requirements.txt | |
pip install -e . | |
- name: List Python dependencies | |
run: | | |
pip freeze | |
- name: Run unit tests | |
run: pytest tests | |
timeout-minutes: 15 | |
- uses: codecov/codecov-action@v4 |