c9adcaa5e4
Test / test (pull_request) Failing after 1m35s
Until now no CI workflow ran the test suite or clippy at all — the android-release, docker-build, web-e2e, web-wasm-rebuild, and builder-image workflows cover packaging and e2e, but a direct push to master (including the web-wasm-rebuild bot commit) never executed cargo test or clippy. The gate discipline in CLAUDE.md §6 existed only on developer machines. test.yml runs the exact §6 commands (clippy --workspace --all-targets -D warnings; cargo test --workspace) on master pushes and PRs, with SQLX_OFFLINE against the checked-in .sqlx cache, path-filtered so docs-only merges don't burn CI. Toolchain/cache mirror web-e2e.yml. Found during the 2026-07-06 large-scale review (finding H1). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
# Workspace gate: the same clippy + test commands CLAUDE.md §6 requires
|
|
# locally, run on every master push and pull request. Until this workflow
|
|
# existed, nothing in CI ran the test suite at all — a direct push to
|
|
# master (or the web-wasm-rebuild bot commit) was entirely unguarded.
|
|
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
paths:
|
|
- 'solitaire_app/**'
|
|
- 'solitaire_assetgen/**'
|
|
- 'solitaire_core/**'
|
|
- 'solitaire_data/**'
|
|
- 'solitaire_engine/**'
|
|
- 'solitaire_server/src/**'
|
|
- 'solitaire_server/tests/**'
|
|
- 'solitaire_server/migrations/**'
|
|
- 'solitaire_sync/**'
|
|
- 'solitaire_wasm/**'
|
|
- 'solitaire_web/**'
|
|
- 'Cargo.toml'
|
|
- 'Cargo.lock'
|
|
- '.cargo/**'
|
|
- '.sqlx/**'
|
|
- '.gitea/workflows/test.yml'
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: clippy
|
|
|
|
- name: Cache cargo build
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
# SQLX_OFFLINE uses the checked-in `.sqlx/` query cache (no live DB),
|
|
# same as the web-e2e workflow's server prebuild.
|
|
- name: Clippy (deny warnings)
|
|
env:
|
|
SQLX_OFFLINE: 'true'
|
|
run: cargo clippy --workspace --all-targets -- -D warnings
|
|
|
|
- name: Test
|
|
env:
|
|
SQLX_OFFLINE: 'true'
|
|
run: cargo test --workspace
|