name: "Tests" on: push: branches: [ main ] pull_request: ~ workflow_dispatch: # Cancel redundant in-progress jobs. concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: test-full: name: "Full: Python ${{ matrix.python-version }} on ${{ matrix.os }}" runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ "ubuntu-20.04", "macos-12", "macos-latest", "windows-latest", ] python-version: [ "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "pypy3.10", ] exclude: # Exclude test matrix slots that are no longer supported by GHA runners. - os: 'macos-latest' python-version: '3.6' - os: 'macos-latest' python-version: '3.7' # Exclude Python 3.7 on Windows, because GHA fails on it. # # SyntaxError: Non-UTF-8 code starting with '\x83' in file # C:\hostedtoolcache\windows\Python\3.7.9\x64\Scripts\poe.exe # on line 2, but no encoding declared; # see http://python.org/dev/peps/pep-0263/ for details # # https://github.com/kennethreitz/responder/actions/runs/11526258626/job/32090071392?pr=546#step:6:73 - os: 'windows-latest' python-version: '3.7' env: UV_SYSTEM_PYTHON: true steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - uses: actions/setup-node@v4 with: node-version: 22 - uses: yezz123/setup-uv@v4 - name: Install and validate package (Python 3.6) if: matrix.python-version == '3.6' run: | pip install '.[full,develop,test]' poe test - name: Install and validate package (Python >=3.6) if: matrix.python-version != '3.6' run: | uv pip install '.[full,develop,test]' poe check test-minimal: name: "Minimal: Python ${{ matrix.python-version }} on ${{ matrix.os }}" runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: ["ubuntu-latest"] python-version: ["3.13"] env: UV_SYSTEM_PYTHON: true steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - uses: yezz123/setup-uv@v4 - name: Install and validate package run: | uv pip install '.[develop,test]' poe check