- name: Tests
-
- on:
- push:
- branches: [main, features]
- pull_request:
- branches: [main, features]
- workflow_dispatch:
-
- jobs:
- tests:
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- os:
- - ubuntu-latest
- - macos-11.0
- - windows-latest
- python_version:
- - '3.8'
- - '3.9'
- - '3.10'
- - '3.11'
- - '3.12'
-
- name: Python ${{ matrix.python_version }} (${{ matrix.os }})
- steps:
- - uses: actions/checkout@v4
- - name: Set up Python ${{ matrix.python_version }}
- uses: actions/setup-python@v5
- with:
- python-version: ${{ matrix.python_version }}
- architecture: x64
-
- - name: Prepare environment
- run: |
- python3 -m pip install --upgrade pip poetry
-
- - name: Install dependencies
- env:
- PIP_PREFER_BINARY: 1
- run: |
- python3 -m poetry install --with=dev
-
- - name: Run doc tests
- run: |
- make coverage-doctests
-
- - name: Push code coverage
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- COVERALLS_PARALLEL: true
- COVERALLS_FLAG_NAME: "Py${{ matrix.python_version }}_${{ matrix.os }}"
- run: |
- python3 -m poetry run coveralls --service=github
-
- coverage:
- name: Push coverage report
- needs: tests
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v4
- - name: Prepare Python
- uses: actions/setup-python@v5
- with:
- python-version: "3.x"
-
- - name: Install dependencies
- run: |
- pip install -U pip poetry
- poetry install
-
- - name: Upload coverage report
- run: |
- poetry run coveralls --finish --service=github
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|