Skip to content

Small re-write

Small re-write #264

name: Automated tests & code coverage
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[develop]"
- uses: pre-commit/action@v3.0.0
- name: Run tests
run: |
# -rA displays the captured output for all tests after they're run
# See the docs: https://doc.pytest.org/en/latest/reference/reference.html#command-line-flags
pytest -rA tests/
- name: Generate coverage report
# Run these tests on unit tests only so that we avoid inflating our code
# coverage through the regression tests
if: matrix.os == 'ubuntu-latest'
run: |
pip install pytest
pip install pytest-cov
pytest --cov=./ --cov-report=xml tests/ --ignore tests/reg_tests --ignore tests/timing.py --ignore tests/profiling.py
- name: Upload coverage to Codecov
# if: ${{ env.CODECOV_TOKEN }} # Don't attempt to upload if the codecov token is not configured
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
files: ./coverage.xml
fail_ci_if_error: true
# Former codecov version
# - name: Generate coverage report
# # Run these tests on unit tests only so that we avoid inflating our code
# # coverage through the regression tests
# if: matrix.os == 'ubuntu-latest'
# run: |
# pip install pytest
# pip install pytest-cov
# pytest --cov=./ --cov-report=xml tests/
# - name: Upload coverage to Codecov
# if: ${{ env.CODECOV_TOKEN }} # Don't attempt to upload if the codecov token is not configured
# uses: codecov/codecov-action@v3
# with:
# token: ${{ secrets.CODECOV_TOKEN }}
# files: ./coverage.xml
# fail_ci_if_error: true