small #310
Workflow file for this run
This file contains 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: pyccolo | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest', 'windows-latest' ] | |
python-version: [ '3.7', '3.8', '3.9', '3.10', '3.11', '3.12' ] | |
include: | |
- python-version: '3.7' | |
os: 'macos-13' | |
- python-version: '3.8' | |
os: 'macos-13' | |
- python-version: '3.9' | |
os: 'macos-13' | |
- python-version: '3.10' | |
os: 'macos-latest' | |
- python-version: '3.11' | |
os: 'macos-latest' | |
- python-version: '3.12' | |
os: 'macos-latest' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e .[test] | |
- name: Lint with ruff | |
run: make lint | |
- name: Run unit tests with pytest (skip typechecking, coverage) | |
if: matrix.os == 'windows-latest' | |
run: pytest | |
- name: Run typechecking with mypy and unit tests with pytest (skip coverage) | |
if: ${{ matrix.os == 'macos-latest' || matrix.os == 'macos-13' }} | |
run: | | |
make typecheck | |
pytest | |
- name: Run typechecking with mypy and unit tests with pytest (including coverage) | |
if: matrix.os == 'ubuntu-latest' | |
run: make check_ci | |
- name: Upload coverage report | |
if: matrix.os == 'ubuntu-latest' | |
uses: codecov/codecov-action@v1 | |
with: | |
token: '${{ secrets.CODECOV_TOKEN }}' | |
files: ./coverage.xml | |
env_vars: PYTHON | |
name: codecov-umbrella | |
fail_ci_if_error: true | |
verbose: true |