Skip to content

Commit

Permalink
add tests for older python versions in CI (#19)
Browse files Browse the repository at this point in the history
The coverage reports uploaded to codecov include runs from all python versions.

Locally, there is no required change in dev workflow.
  • Loading branch information
2bndy5 authored Sep 15, 2024
1 parent 0351e41 commit 94ff0f7
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 5 deletions.
44 changes: 40 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
branches: [main]

jobs:
run:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand All @@ -18,18 +18,54 @@ jobs:
with:
python-version: '3.x'
- name: Install dependencies
run: pip install -r tests/requirements.txt -e . -r requirements-dev.txt
run: pip install -e . -r requirements-dev.txt
- name: Cache pre-commit venv(s)
uses: actions/cache@v4
with:
path: '~/.cache/pre-commit'
key: pre-commit_${{ steps.setup-python.outputs.python-version }}_${{ hashfiles('.pre-commit-config.yaml') }}
- name: Run pre-commit hooks
run: pre-commit run --all-files
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install -r tests/requirements.txt
- name: Run tests and collect coverage
run: coverage run -m pytest
run: coverage run --parallel-mode -m pytest
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
path: .coverage*
name: coverage-data-py${{ matrix.python-version }}
include-hidden-files: true
report:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Download artifacts
uses: actions/download-artifact@v4
with:
pattern: coverage-data-py*
path: ci-artifacts
- run: mv ci-artifacts/**/.coverage* ./
- name: Install dependencies
run: pip install coverage
- name: Create coverage report
run: coverage xml
run: |
coverage combine
coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
Expand Down
1 change: 0 additions & 1 deletion requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
coverage
pre-commit
2 changes: 2 additions & 0 deletions tests/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
adafruit-circuitpython-busdevice
coverage[toml]
pytest

0 comments on commit 94ff0f7

Please sign in to comment.