configurable pwmchip for hw clock on pi5 #6
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 | |
# coverage is made up by multiple runs on different hosts | |
# self-hosted is a RPI and has hardware attached to test and gain high coverage | |
# after all jobs finished, coverage is uploaded as described here | |
# https://about.codecov.io/blog/uploading-code-coverage-in-a-separate-job-on-github-actions/ | |
on: [push, pull_request] | |
permissions: | |
contents: read | |
jobs: | |
tests: | |
runs-on: ubuntu-latest | |
continue-on-error: false | |
strategy: | |
fail-fast: true | |
matrix: | |
python-version: ["3.10", "3.11", "3.12", "3.13"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: install pdm | |
run: | | |
pipx install pdm # on hosted pipx is installed | |
pdm install | |
- name: Run pytest | |
run: | | |
pdm run test | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-${{ matrix.python-version }} | |
path: coverage.xml | |
tests-hardware-rpi: | |
runs-on: [self-hosted, rpi] | |
if: ${{ github.repository_owner == 'mgineer85' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- run: pipx install pdm | |
- run: pipx ensurepath | |
- run: pdm venv create --force 3.11 --system-site-packages # incl system site to allow for picamera2 to import | |
- run: pdm install # install in-project env | |
- name: Test with pytest | |
run: | | |
pdm run test | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-hardware-rpi | |
path: ./coverage.xml | |
# upload-to-codecov: | |
# needs: [tests, tests-hardware-rpi] | |
# runs-on: ubuntu-latest | |
# if: ${{ github.repository_owner == 'mgineer85' }} | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - name: Download artifacts | |
# uses: actions/download-artifact@v4 | |
# - name: Upload to Codecov | |
# uses: codecov/codecov-action@v4 | |
# with: | |
# token: ${{ secrets.CODECOV_TOKEN }} |