Record coverage for fast tests and analyze with deepsource and codecov #46
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: pytest | |
on: | |
push: | |
branches: | |
# Run tests for change on the main branch ... | |
- main | |
tags-ignore: | |
# ... but not for tags (avoids duplicate work). | |
- '**' | |
pull_request: | |
# Run tests on pull requests | |
jobs: | |
tests: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
python-version: ["3.9", "3.12"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install oldest versions of supported dependencies | |
if: ${{ matrix.python-version == '3.9'}} | |
# Ensure changes to these dependencies are reflected | |
# in pyproject.toml and docs/install.rst | |
run: pip install numpy==1.22 scipy==1.11 attrs==21.3.0 | |
- name: Install development version | |
run: pip install -e .[dev] | |
- name: Run fast tests with pytest | |
run: pytest -vv -m "not slow" --cov=iodata --cov-report=xml | |
- name: Upload coverage report to Deepsource | |
# See https://docs.deepsource.com/docs/analyzers-test-coverage#python | |
run: | | |
curl https://deepsource.io/cli | sh | |
./bin/deepsource report --analyzer test-coverage --key python --value-file ./coverage.xml | |
- name: Run slow tests with pytest | |
run: pytest -vv -m slow |