name: CI on: push: pull_request: schedule: - cron: '0 8 * * 6' jobs: test: env: PIP_DISABLE_PIP_VERSION_CHECK: 1 strategy: fail-fast: false matrix: os: ["ubuntu-20.04", "macos-latest"] python: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "pypy-3.9"] include: - os: "windows-latest" python: "3.8" - os: "windows-latest" python: "3.9" - os: "windows-latest" python: "3.10" - os: "windows-latest" python: "3.11" - os: "windows-latest" python: "3.12" exclude: - os: "macos-latest" python: "3.6" - os: "macos-latest" python: "3.7" runs-on: ${{ matrix.os }} name: "Test: Python ${{ matrix.python }} on ${{ matrix.os }}" steps: - uses: actions/checkout@v4 with: submodules: recursive - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} allow-prereleases: true - name: "Install dependencies" run: | python -m pip install --upgrade pip setuptools python -m pip install tox tox-gh-actions - name: "Run tests" run: | python -m tox python -m tox -e coverage_report - uses: codecov/codecov-action@v5 with: fail_ci_if_error: true token: ${{ secrets.CODECOV_TOKEN }} fmt: name: Format runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: psf/black@stable - uses: isort/isort-action@v1