Skip to content

chore(deps)(deps): bump the minor-and-patch group across 1 directory with 13 updates #144

chore(deps)(deps): bump the minor-and-patch group across 1 directory with 13 updates

chore(deps)(deps): bump the minor-and-patch group across 1 directory with 13 updates #144

Workflow file for this run

name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
# Cancel superseded PR runs; let pushes to main run to completion so that
# the status line on main always reflects the latest commit.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
permissions:
contents: read
jobs:
quality:
name: Quality (lint, types, build, audit)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "22"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Check release version sync
run: npm run version:check
- name: Lint
run: npm run lint
- name: Prettier check
run: npm run format:check
- name: Type check
run: npm run typecheck
- name: Build frontend
run: npm run build
- name: UI smoke (SSR render)
run: npm run ui:smoke
- name: npm audit (high severity)
# --audit-level=high keeps CI green on moderate transitive findings
# while still failing on anything exploitable. Re-tighten once the
# moderate findings are addressed.
run: npm audit --audit-level=high
rust:
name: Rust tests (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v6
- name: Set up Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Cache Cargo build
uses: Swatinem/rust-cache@v2
with:
workspaces: "src-tauri -> target"
cache-bin: false
# The default feature set in src-tauri/Cargo.toml excludes the Tauri
# shell (tauri is an optional dep gated behind the `desktop` feature),
# so no WebKitGTK / GTK system packages are required for `cargo test`.
- name: Run cargo test
run: cargo test --manifest-path src-tauri/Cargo.toml --locked
e2e:
name: Playwright (chromium)
runs-on: ubuntu-latest
needs: quality
steps:
- uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "22"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Install Playwright browsers
run: npx playwright install --with-deps chromium
- name: Run Playwright tests
run: npm run e2e
- name: Upload Playwright report
if: failure()
uses: actions/upload-artifact@v7
with:
name: playwright-report
path: |
playwright-report/
test-results/
retention-days: 7