|
name: build |
|
on: |
|
push: |
|
branches: |
|
- 'main' |
|
pull_request: |
|
|
|
concurrency: |
|
group: ${{ github.workflow }}-${{ github.head_ref }} |
|
cancel-in-progress: true |
|
|
|
permissions: |
|
contents: read |
|
pull-requests: read |
|
|
|
jobs: |
|
build: |
|
name: 🧪 Test & lint |
|
runs-on: ubuntu-latest |
|
strategy: |
|
max-parallel: 1 |
|
matrix: |
|
python: ['3.8', '3.9', '3.10', '3.11', '3.12'] |
|
steps: |
|
- uses: actions/checkout@v3 |
|
with: |
|
fetch-depth: 0 # gives the commit linter access to previous commits |
|
|
|
- uses: actions/setup-python@v3 |
|
with: |
|
python-version: ${{ matrix.python }} |
|
|
|
- name: Install deps with ${{ matrix.python }} |
|
run: pip install -q ".[test, ci]" |
|
|
|
- name: Lint with ${{ matrix.python }} |
|
if: ${{ matrix.python == '3.8' }} |
|
run: make lint |
|
|
|
- name: Install, test and code coverage with ${{ matrix.python }} |
|
env: |
|
STREAM_KEY: ${{ secrets.STREAM_KEY }} |
|
STREAM_SECRET: ${{ secrets.STREAM_SECRET }} |
|
PYTHONPATH: ${{ github.workspace }} |
|
run: make test |