mirror of
https://github.com/kuhyx/steam-backlog-enforcer.git
synced 2026-11-10 21:07:05 +01:00
pick and pick-manual no longer uninstall games that are already allowed: the outgoing assignment is kept as a released pick (installed, no lock) until 'pick --replace', done/check, or abandon-pick. The allowed set is capped at max_manual_picks + 1; a pick over it is refused before the candidate list / confirmation, naming the games. status and the web Picks card list kept games with an Abandon button. Fast install now tracks the installer log from the spawn offset: web jobs drive the progress bar (per-depot %, phase) and echo a line every 30 s; daemon-started runs are exposed via ctl status / /api/daemon and shown on the Dashboard. Also: web deps bumped for dependency freshness (react-query 5.104.5, typescript-eslint 8.72.0, vite 8.3.5, node 24.22.1 in CI). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CUaX4zAa6H4sMu3jd6RFdb
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: 24.22.1
|
|
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
|