Skip to content

pyccolo

pyccolo #281

Workflow file for this run

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