name: Website checks
on:
push:
branches: [main]
paths:
- 'web/jsoncompatdotcom/**'
- 'wasm/**'
- 'src/**'
- 'schema/**'
- 'fuzz/**'
- 'codegen/**'
- 'openapi/**'
- 'Cargo.lock'
- 'presentation/deck/**'
- 'presentation/interactive/**'
pull_request:
paths:
- 'web/jsoncompatdotcom/**'
- 'wasm/**'
- 'src/**'
- 'schema/**'
- 'fuzz/**'
- 'codegen/**'
- 'openapi/**'
- 'Cargo.lock'
- 'presentation/deck/**'
- 'presentation/interactive/**'
workflow_dispatch:
jobs:
biome:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Setup pnpm
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320
- name: Setup Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f with:
node-version: '24'
cache: 'pnpm'
cache-dependency-path: pnpm-lock.yaml
- name: Install dependencies (frozen lockfile)
run: pnpm install --frozen-lockfile --prefer-offline
- name: Run Biome checks
working-directory: web/jsoncompatdotcom
run: pnpm run ci
- name: Install Rust and the WebAssembly target
uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 with:
toolchain: stable
targets: wasm32-unknown-unknown
- name: Install wasm-pack
run: cargo install wasm-pack --version 0.15.0 --locked
- name: Build website
working-directory: web/jsoncompatdotcom
run: pnpm run build