Add typing, drop old Python #361
Workflow file for this run
This file contains hidden or 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
| name: Tests | |
| on: | |
| schedule: | |
| - cron: "10 16 * * 3" | |
| pull_request: | |
| branches: [ master ] | |
| push: | |
| branches: [ master ] | |
| workflow_dispatch: | |
| jobs: | |
| ubuntu-system-python: | |
| name: ${{ matrix.os }}-system-python | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-22.04, ubuntu-24.04] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install System Python | |
| run: | | |
| sudo apt install python3-dev python3-pip python3-venv | |
| - name: Build venv | |
| run: | | |
| python -m venv .venv | |
| . .venv/bin/activate | |
| echo PATH=$PATH >> $GITHUB_ENV | |
| - name: Install Testing Requirements | |
| run: python3 -m pip install nox | |
| - name: Run Tests | |
| run: python3 -m nox -e tests | |
| - name: Upload to codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| setup-python: | |
| name: ${{ matrix.os }}-setup-python | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [windows-latest, macos-latest, ubuntu-latest] | |
| steps: | |
| - name: Checkout project | |
| uses: actions/checkout@v4 | |
| - name: Install Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.x' | |
| - name: Install Testing Requirements | |
| run: python -m pip install nox | |
| - name: Run tests | |
| run: python -m nox -e tests | |
| - name: Upload to codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| anaconda: | |
| name: ${{ matrix.os }}-anaconda | |
| runs-on: ${{ matrix.os }} | |
| defaults: | |
| run: | |
| shell: bash -l {0} # setup-miniconda requires using login bash shells to activate env | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| auto-update-conda: true | |
| auto-activate-base: true | |
| activate-environment: '' | |
| - name: Install Testing Requirements | |
| run: python -m pip install nox | |
| - name: Run Tests | |
| run: python -m nox -e tests | |
| - name: Upload to codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| rhel8-appstream-py39: | |
| name: rhel8-appstream-py39 | |
| runs-on: ubuntu-latest | |
| container: "almalinux:8" | |
| steps: | |
| - name: Install Python 3.9 and Git from AppStream | |
| run: yum install -y python39-devel python39-pip python39-pip-wheel python39 git | |
| - uses: actions/checkout@v4 | |
| - name: Install Testing Requirements | |
| run: python3.9 -m pip install --upgrade pip nox | |
| - name: Run Tests | |
| run: python3.9 -m nox -e tests | |
| # - name: Upload to codecov | |
| # uses: codecov/codecov-action@v5 | |
| # with: | |
| # token: ${{ secrets.CODECOV_TOKEN }} | |
| # fail_ci_if_error: true | |
| rhel9-system-python: | |
| name: rhel9-system-python | |
| runs-on: ubuntu-latest | |
| container: "almalinux:9" | |
| steps: | |
| - name: Install System Python and Git | |
| run: yum install -y python3-devel python3-pip python3 git | |
| - uses: actions/checkout@v4 | |
| - name: Install Testing Requirements | |
| run: python3 -m pip install nox | |
| - name: Run Tests | |
| run: python3 -m nox -e tests | |
| - name: Upload to codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| msys: | |
| name: ${{ matrix.msystem }}-system-python | |
| runs-on: windows-latest | |
| defaults: | |
| run: | |
| shell: msys2 {0} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| msystem: | |
| - MSYS | |
| - MINGW32 | |
| - MINGW64 | |
| - UCRT64 | |
| steps: | |
| - name: Install msys2 | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: ${{ matrix.msystem }} | |
| pacboy: >- | |
| gnupg | |
| python:p | |
| python-pip:p | |
| update: true | |
| - uses: actions/checkout@v4 | |
| - name: Run tests | |
| run: | | |
| python -m venv .venv | |
| . .venv/bin/activate | |
| pip install nox | |
| nox -e tests | |
| - name: Upload to codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| alpine: | |
| name: alpine-system-python | |
| runs-on: ubuntu-latest | |
| container: "alpine:latest" | |
| steps: | |
| - name: Update Packages | |
| run: | | |
| apk update | |
| apk upgrade | |
| - name: Install Testing and Coverage Upload Dependencies | |
| run: | | |
| apk add python3 python3-dev py3-pip py3-nox py3-attrs git | |
| apk add bash gpg curl | |
| - name: Download Source | |
| uses: actions/checkout@v4 | |
| - name: Run Tests | |
| run: | | |
| nox -e tests | |
| - name: Upload to codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| homebrew: | |
| name: homebrew-system-python | |
| runs-on: macos-latest | |
| steps: | |
| - name: Install System Python and Git | |
| run: | | |
| brew install python git | |
| - name: Download Source | |
| uses: actions/checkout@v4 | |
| - name: Build venv | |
| run: | | |
| python3 -m venv .venv | |
| . .venv/bin/activate | |
| echo PATH=$PATH >> $GITHUB_ENV | |
| - name: Install Testing Requirements | |
| run: | | |
| python3 -m pip install nox | |
| - name: Run Tests | |
| run: | | |
| python3 -m nox -e tests | |
| - name: Upload to codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| archlinux: | |
| name: archlinux-system-python | |
| runs-on: ubuntu-latest | |
| container: | |
| image: archlinux | |
| options: --privileged | |
| steps: | |
| - name: Install System Python and Git | |
| run: | | |
| pacman --noconfirm -Sy python python-pip git | |
| - name: Download Source | |
| uses: actions/checkout@v4 | |
| - name: Create and activate environment | |
| run: | | |
| python -m venv .venv | |
| . .venv/bin/activate | |
| echo PATH=$PATH >> $GITHUB_ENV | |
| - name: Install Testing Requirements | |
| run: | | |
| pip install nox | |
| - name: Run Tests | |
| run: | | |
| nox -e tests | |
| - name: Upload to codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ contains(github.ref, 'master') }} |