mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-07-12 21:02:17 +02:00
Test files were typechecked by nothing: tsconfig.build.json excludes them (correctly — they must not land in dist), and vitest transforms with esbuild, which strips types without checking them. That gap is where the review's two tsc breaks and the fixture drift accumulated. Adds 'typecheck' scripts per package (dev tsconfigs, which include src/**/*.test.ts; renderer reuses its existing tsc -b), a root orchestrator mirroring the test script, and a CI step in the vitest job. All three packages are currently clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
69 lines
1.7 KiB
YAML
69 lines
1.7 KiB
YAML
name: rowboat
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
apps-x-vitest:
|
|
name: apps/x Vitest suites
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: apps/x
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 10
|
|
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
cache: pnpm
|
|
cache-dependency-path: apps/x/pnpm-lock.yaml
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
# Builds @x/shared (core/renderer tests import its dist), then runs
|
|
# the shared, core, and renderer vitest suites in order.
|
|
- name: Run apps/x Vitest suites
|
|
run: npm test
|
|
|
|
# Typechecks with the dev tsconfigs, which include test files —
|
|
# the build tsconfigs exclude them and vitest strips types without
|
|
# checking, so this is the only gate that sees type errors in tests.
|
|
- name: Typecheck apps/x packages
|
|
run: npm run typecheck
|
|
|
|
apps-x-electron-package:
|
|
name: apps/x Electron package smoke test
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: apps/x
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 10
|
|
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 24.15.0
|
|
cache: pnpm
|
|
cache-dependency-path: apps/x/pnpm-lock.yaml
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Package Electron app without signing
|
|
env:
|
|
ROWBOAT_SKIP_CODE_SIGNING: "1"
|
|
run: npm run package
|
|
working-directory: apps/x/apps/main
|