60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
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
|