beets/.github/workflows/ci.yaml
Šarūnas Nejus 29da72b1d9
Show source files on codecov
While the commit merged yesterday fixed the coverage upload to
coveralls, it broke the source files preview on the platform.

This was due to the missing actions/checkout step in the coverage upload
job.
2024-06-16 18:24:48 +01:00

78 lines
2.1 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 != 'true' }}
name: Test without coverage
run: poe test
- if: ${{ env.IS_MAIN_PYTHON == 'true' }}
name: Test with coverage
uses: liskin/gh-problem-matcher-wrap@v3
with:
linters: pytest
run: poe test-with-coverage
- if: ${{ env.IS_MAIN_PYTHON == 'true' }}
name: Store the coverage report
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: .reports/coverage.xml
upload-coverage:
name: Upload coverage report
needs: test
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- name: Get the coverage report
uses: actions/download-artifact@v4
with:
name: coverage-report
- name: Upload code coverage
uses: codecov/codecov-action@v4
with:
files: ./coverage.xml
use_oidc: true