WP-00: project skeleton with three-level test harness
Cargo workspace (domain, application, infrastructure, api), axum health endpoint with SPA fallback, Vue 3 + Tailwind frontend, Vitest, Playwright, Makefile, Gitea Actions CI and README. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
39
.gitea/workflows/ci.yml
Normal file
39
.gitea/workflows/ci.yml
Normal file
@ -0,0 +1,39 @@
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
backend:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
with: { components: rustfmt, clippy }
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
with: { workspaces: backend }
|
||||
- run: cd backend && cargo fmt --check && cargo clippy --workspace --all-targets -- -D warnings
|
||||
- run: cd backend && cargo test --workspace
|
||||
|
||||
frontend:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with: { node-version: 22, cache: npm, cache-dependency-path: frontend/package-lock.json }
|
||||
- run: cd frontend && npm ci
|
||||
- run: cd frontend && npm run lint && npm run typecheck && npm test
|
||||
|
||||
ui:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [backend, frontend]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
with: { workspaces: backend }
|
||||
- uses: actions/setup-node@v4
|
||||
with: { node-version: 22, cache: npm, cache-dependency-path: frontend/package-lock.json }
|
||||
- run: cd frontend && npm ci && npx playwright install --with-deps chromium
|
||||
- run: cd frontend && npm run test:ui
|
||||
Reference in New Issue
Block a user