test(ci): add coverage for static-checks

Runs mypy and ruff. Add basic test.

- Update pyproject.toml dependencies groups
  - PDM can use top-level [dependency-groups] (PEP 735), support was added in pdm 2.20.0 (October 2024)
- Fix Ruff warnings
This commit is contained in:
Götz 2026-03-01 09:39:13 -05:00
parent 49a75f8118
commit b922d34db8
6 changed files with 299 additions and 35 deletions

67
.github/workflows/static-checks.yml vendored Normal file
View file

@ -0,0 +1,67 @@
name: Static Checks
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
concurrency:
group: static-checks-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
lint-and-typecheck:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install runtime
id: runtime
uses: ./.github/runtime
- name: Set up PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: ${{ steps.runtime.outputs.python }}
cache: true
- name: Install dependencies
run: pdm sync -dG:all
- name: Ruff
run: pdm run ruff check src
- name: Mypy
run: pdm run mypy -p mpd_now_playable
tests:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install runtime
id: runtime
uses: ./.github/runtime
- name: Set up PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: ${{ steps.runtime.outputs.python }}
cache: true
- name: Install dependencies
run: pdm sync -dG:all
- name: Run tests
run: pdm run pytest tests