ci(x): parent test harness + GitHub Actions workflow

apps/x gains npm test — builds @x/shared first (the core and renderer
suites import its dist), then runs the shared, core, and renderer
vitest suites in dependency order; per-suite test:shared/test:core/
test:renderer scripts for targeted runs.

.github/workflows/x-tests.yml runs that harness on every pull request
touching apps/x (plus pushes to main and manual dispatch): pnpm 10 /
Node 22, frozen lockfile, pnpm store cached against apps/x's lockfile.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Ramnique Singh 2026-07-02 14:23:39 +05:30
parent 627451cd94
commit eaa55df161
2 changed files with 46 additions and 2 deletions

40
.github/workflows/x-tests.yml vendored Normal file
View file

@ -0,0 +1,40 @@
name: apps/x tests
on:
pull_request:
paths:
- "apps/x/**"
- ".github/workflows/x-tests.yml"
push:
branches: [main]
paths:
- "apps/x/**"
- ".github/workflows/x-tests.yml"
workflow_dispatch:
jobs:
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: 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 tests
run: npm test