80 lines
2.6 KiB
YAML
80 lines
2.6 KiB
YAML
name: django-cas-server
|
|
run-name: ${{ github.actor }} is running django-cas-server CI tests
|
|
on: [push]
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
jobs:
|
|
flake8:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: python:bookworm
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- run: pip install tox
|
|
- run: tox -e flake8
|
|
check_rst:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: python:bookworm
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- run: pip install tox
|
|
- run: tox -e check_rst
|
|
coverage:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: python:bookworm
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- run: pip install tox
|
|
- run: tox -e coverage
|
|
env:
|
|
COVERAGE_TOKEN: ${{ secrets.COVERAGE_TOKEN }}
|
|
tests:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
arch: ["amd64", "ppc64le"]
|
|
tox:
|
|
# REHL 7 support and Ubuntu bionic
|
|
- python: "3.6"
|
|
env: "py36-django111"
|
|
# RHEL 8 support
|
|
- python: "3.6"
|
|
env: "py36-django22"
|
|
# Debian buster support
|
|
- python: "3.7"
|
|
env: "py37-django111"
|
|
# Ubuntu focal support
|
|
- python: "3.8"
|
|
env: "py38-django22"
|
|
# Debian bullseye
|
|
- python: "3.9"
|
|
env: py39-django22
|
|
# Ubuntu jammy
|
|
- python: "3.10"
|
|
env: "py310-django32"
|
|
# Debian bookworm
|
|
- python: "3.11"
|
|
env: py311-django32
|
|
# Django additional supported version
|
|
- python: "3.9"
|
|
env: py39-django42
|
|
- python: "3.10"
|
|
env: py310-django42
|
|
- python: "3.11"
|
|
env: py311-django42
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- if: matrix.arch != 'amd64'
|
|
name: "Install docker multiarch support"
|
|
run: |
|
|
sudo apt-get update -y
|
|
sudo apt-get install -y qemu qemu-user-static
|
|
sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes --credential yes
|
|
- name: "Check docker arch ${{ matrix.arch }} support"
|
|
run: sudo docker run --platform linux/${{ matrix.arch }} --rm ${{ matrix.arch }}/python:${{ matrix.tox.python }} /bin/bash -c "echo -n \"Running with arch \"; uname -m;"
|
|
- name: "Run tests on arch ${{ matrix.arch }}"
|
|
run: sudo docker run --platform linux/${{ matrix.arch }} --rm -v $(pwd):$(pwd) ${{ matrix.arch }}/python:${{ matrix.tox.python }} /bin/bash -c "cd $(pwd); uname -m; pip install tox; tox -e ${{ matrix.tox.env }}"
|