f6e57b759e
Test / test (pull_request) Successful in 27m47s
Review feedback on #135: floating 'stable' + -D warnings lets every new clippy release redden master with new lints — pin 1.95.0 like the web-wasm-rebuild workflow. And ubuntu-latest lacks the ALSA/udev/X11/ Wayland dev packages the Bevy crates link against; install the standard Bevy CI set (the project's own builder images have no desktop-Bevy precedent — android-builder targets the NDK and web-e2e only builds the server). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
67 lines
2.0 KiB
YAML
67 lines
2.0 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 1.95.0
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: 1.95.0
|
|
components: clippy
|
|
|
|
- name: Cache cargo build
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
# Native link deps for the Bevy crates (engine/app/web) on a bare
|
|
# ubuntu runner: ALSA + udev for input/audio, X11 + Wayland for winit.
|
|
- name: Install Bevy native dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y --no-install-recommends \
|
|
libasound2-dev libudev-dev pkg-config libx11-dev libxcursor-dev \
|
|
libxrandr-dev libxi-dev libwayland-dev libxkbcommon-dev
|
|
|
|
# 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
|