Skip to content

run tests and linting in all branches, but exclude pyproject.toml #19

run tests and linting in all branches, but exclude pyproject.toml

run tests and linting in all branches, but exclude pyproject.toml #19

name: unit tests [Python 3.8|3.9|3.10|3.11]
on:
workflow_dispatch:
push:
branches: [ main ]
paths-ignore:
pyproject.toml
jobs:
pytest:
# Using matrix strategy
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
runs-on: ubuntu-latest
steps:
# Check out repo and set up Python
- name: Check out the repository
uses: actions/checkout@v4
with:
lfs: true
# see https://stackoverflow.com/questions/57612428/cloning-private-github-repository-within-organisation-in-actions and https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#generating-a-new-ssh-key
- name: checkout test data
run: |
eval `ssh-agent -s`
ssh-add - <<< '${{ secrets.TEST_DATA_ACCESS_KEY }}'
git submodule sync --recursive
git submodule update --init --recursive
- name: "Setup Python, Poetry and Dependencies"
uses: packetcoders/action-setup-cache-python-poetry@main
with:
python-version: ${{matrix.python-version}}
poetry-version: 1.2.2
# Use cached python and dependencies, install poetry
- name: Run tests on python ${{matrix.python-version}}
run: |
poetry run pytest --full-trace --show-capture=no -sv -n auto tests/