Skip to content

feat(web): scaffold next.js app-router with shadcn-style nav and zust… #5

feat(web): scaffold next.js app-router with shadcn-style nav and zust…

feat(web): scaffold next.js app-router with shadcn-style nav and zust… #5

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
lint-contracts:
name: Contracts — Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
components: clippy
- run: cargo clippy -p escrow -p reputation -p job_registry -- -D warnings
lint-backend:
name: Backend — Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- run: cargo clippy -p backend -- -D warnings
test-backend:
name: Backend — Tests
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_PASSWORD: lance
POSTGRES_USER: lance
POSTGRES_DB: lance
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
env:
DATABASE_URL: postgres://lance:lance@localhost:5432/lance
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo test -p backend
lint-frontend:
name: Frontend — ESLint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: apps/web/package-lock.json
- run: npm install --prefix apps/web
- run: npm run lint --prefix apps/web
build-frontend:
name: Frontend — Build & E2E
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm install
- run: npm install --prefix apps/web
- run: npx playwright install --with-deps
- run: npm run build --prefix apps/web
- run: npm run test:e2e