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 }}"