Skip to content

Add coverage to tests (#5) #29

Add coverage to tests (#5)

Add coverage to tests (#5) #29

Workflow file for this run

# SPDX-License-Identifier: Apache-2.0
---
name: CI
on:
- push
- pull_request
permissions:
contents: read
jobs:
test:
name: "${{ matrix.python }} on ${{ matrix.platform }}"
runs-on: "${{ matrix.platform }}"
strategy:
matrix:
python:
- "3.10"
- "3.11"
- "3.12"
platform:
- "ubuntu-latest"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
cache: pip
cache-dependency-path: |
**/pyproject.toml
**/tox.ini
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install tox tox-gh>=1.2
- name: Run
run: tox
- name: Upload coverage
uses: actions/upload-artifact@v4
with:
name: coverage-${{ matrix.python }}
path: .coverage.*
if-no-files-found: ignore
ruff:
name: "Ruff ${{ matrix.python }} on ${{ matrix.platform }}"
runs-on: "${{ matrix.platform }}"
strategy:
matrix:
python:
- "3.12"
platform:
- "ubuntu-latest"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
cache: pip
cache-dependency-path: |
**/pyproject.toml
**/tox.ini
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install tox
- name: Run
run: tox -e lint
coverage:
name: Coverage report
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
cache: pip
cache-dependency-path: |
**/pyproject.toml
**/tox.ini
- name: Download coverage data
uses: actions/download-artifact@v4
with:
pattern: coverage-*
merge-multiple: true
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install coverage[toml]
- name: Coverage report
run: |
coverage combine
coverage html
coverage report --format=markdown >> $GITHUB_STEP_SUMMARY
coverage report --fail-under=70
- name: Upload report
uses: actions/upload-artifact@v4
with:
path: htmlcov
name: htmlcov