beets/.github/workflows/ci.yaml
Šarūnas Nejus b00a83c229
Partially revert "Simplify logic ci.yaml"
This reverts commit 913f85620dc1d68aed87e19ed1f8f2126f483cad.
2024-06-10 13:46:26 +01:00

56 lines
1.5 KiB
YAML

name: Test
on:
pull_request:
push:
branches:
- master
env:
PY_COLORS: 1
jobs:
test:
name: Run tests
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest]
python-version: ["3.8", "3.9"]
runs-on: ${{ matrix.platform }}
env:
IS_MAIN_PYTHON: ${{ matrix.python-version == '3.8' && matrix.platform == 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v4
- name: Install Python tools
uses: BrandonLWhite/pipx-install-action@v0.1.1
- name: Setup Python with poetry caching
# poetry cache requires poetry to already be installed, weirdly
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: poetry
- name: Install PyGobject dependencies on Ubuntu
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: ${{ ! env.IS_MAIN_PYTHON }}
name: Test without coverage
run: poe test --no-cov
- if: ${{ env.IS_MAIN_PYTHON }}
name: Test with coverage
uses: liskin/gh-problem-matcher-wrap@v3
with:
linters: pytest
run: poe test
- if: ${{ env.IS_MAIN_PYTHON }}
name: Upload code coverage
continue-on-error: true
run: poetry run codecov