beets/.github/workflows/ci.yaml
2024-06-10 13:46:25 +01:00

52 lines
1.5 KiB
YAML

name: Test
on:
pull_request:
push:
branches:
- master
env:
PYTHON_VERSION: 3.8
PY_COLORS: 1
jobs:
test:
name: Run tests
strategy:
matrix:
platform: [ubuntu-latest, windows-latest]
python-version: ["3.8", "3.9"]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- name: Install Python tools
uses: BrandonLWhite/pipx-install-action@v0.1.1
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: poetry
- name: Install PyGobject dependencies
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt update
sudo apt install ffmpeg gobject-introspection libgirepository1.0-dev
poetry install --extras replaygain
- name: Install Python dependencies
run: poetry install --only=main,test
- if: ${{ ! (matrix.python-version == env.PYTHON_VERSION && matrix.platform == 'ubuntu-latest') }}
name: Test without coverage
run: poe test --no-cov
- if: matrix.python-version == env.PYTHON_VERSION && matrix.platform == 'ubuntu-latest'
name: Test with coverage
uses: liskin/gh-problem-matcher-wrap@v3
with:
linters: pytest
run: poe test
- if: matrix.python-version == env.PYTHON_VERSION && matrix.platform == 'ubuntu-latest'
name: Upload code coverage
continue-on-error: true
run: poetry run codecov