Skip to content

build

build #228

Workflow file for this run

name: build
on: workflow_dispatch
jobs:
build:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
os: [ macos-latest, windows-latest, ubuntu-latest ]
python-version: [ '3.10', '3.11', '3.12' ]
steps:
- name: Check out GitHub repository ${{ github.repository }}
uses: actions/checkout@v4
- name: Install Poetry
run: pip install poetry==1.8.3
- name: Set up Python on ${{ runner.os }}
uses: actions/setup-python@v5
id: setup_python
with:
python-version: ${{ matrix.python-version }}
cache: 'poetry'
- name: Install dependencies on Python ${{ steps.setup_python.outputs.python-version }}
run: poetry install --with dev
- name: Check and fix with Ruff
run: poetry run ruff check ./tests/*.py ./openseries/*.py --fix --exit-non-zero-on-fix
- name: Type check with Mypy
run: poetry run mypy .
- name: Tests with Pytest
run: PYTHONPATH=${PWD} poetry run coverage run -m pytest --verbose
- name: Report coverage
run: poetry run coverage report
- name: Package and check
run: |
poetry build
poetry check