50 lines
1.1 KiB
YAML
50 lines
1.1 KiB
YAML
name: ci
|
|
|
|
on: push
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
|
|
fail-fast: false
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- run: pip install '.[dev]'
|
|
|
|
- name: check types
|
|
run: mypy .
|
|
|
|
- name: run unittests
|
|
run: >-
|
|
pytest
|
|
-m "not integration"
|
|
--cov
|
|
--cov-report xml:coverage.xml
|
|
--cov-append
|
|
-vv
|
|
--hypothesis-show-statistics
|
|
|
|
- name: run integration tests
|
|
run: >-
|
|
pytest
|
|
-m integration
|
|
--cov
|
|
--cov-report xml:coverage.xml
|
|
--cov-append
|
|
-vv
|
|
--hypothesis-show-statistics
|
|
|
|
- name: Run codacy-coverage-reporter
|
|
uses: codacy/codacy-coverage-reporter-action@v1
|
|
with:
|
|
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
|
coverage-reports: coverage.xml
|