mirror of
https://github.com/kuhyx/steam-backlog-enforcer.git
synced 2026-11-10 19:47:26 +01:00
Clears the dependency-freshness gate that blocked pushes (ci-mirror). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WzxdWxdzckyBH7fEbPywpr
62 lines
1.7 KiB
YAML
62 lines
1.7 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.x"
|
|
|
|
# uv with a cached wheel store installs requirements.txt in seconds;
|
|
# plain pip took ~20 s of a ~70 s run.
|
|
- uses: astral-sh/setup-uv@v10.2.0
|
|
with:
|
|
enable-cache: true
|
|
cache-dependency-glob: requirements.txt
|
|
|
|
- name: Install dependencies
|
|
run: uv pip install --system -r requirements.txt
|
|
|
|
# -n auto spreads the suite over every runner core (pytest-xdist is in
|
|
# requirements.txt); pytest-cov merges the workers' coverage.
|
|
- name: Run tests with coverage
|
|
run: |
|
|
python -m pytest steam_backlog_enforcer/tests/ \
|
|
-n auto \
|
|
-p no:sugar \
|
|
--cov=steam_backlog_enforcer \
|
|
--cov-branch \
|
|
--cov-fail-under=100 \
|
|
-q
|
|
|
|
# vitest's 100% bar used to run only in the local pre-push hook, which
|
|
# became a 1-second stamp check on 2026-09-20 (pre-commit's manual stage
|
|
# holds it now). Nothing else in CI runs the web suite, so this job is the
|
|
# only place that bar is enforced on every push.
|
|
web-coverage:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 26.13.0
|
|
cache: npm
|
|
cache-dependency-path: web/package-lock.json
|
|
|
|
- name: vitest --coverage, 100% (web UI)
|
|
run: |
|
|
npm --prefix web ci
|
|
npm --prefix web run coverage
|