Skip to content

Merge remote-tracking branch 'origin/livingui-communication-protocol'… #17

Merge remote-tracking branch 'origin/livingui-communication-protocol'…

Merge remote-tracking branch 'origin/livingui-communication-protocol'… #17

Workflow file for this run

name: living-ui-v2
# Self-test for the Living UI TEMPLATE code (kit/blueprint/tools) in this repo.
# Scaffolds a throwaway project and runs the local validation gate on it.
# User-made Living UIs never touch this workflow — they validate locally.
on:
push:
paths:
- 'living-ui-v2/**'
- '.github/workflows/living-ui-v2.yml'
pull_request:
paths:
- 'living-ui-v2/**'
- '.github/workflows/living-ui-v2.yml'
defaults:
run:
working-directory: living-ui-v2
jobs:
gate:
name: gate (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- name: Cache PocketBase binary
uses: actions/cache@v4
with:
path: |
~/Library/Caches/craftos-living-ui/pb
~/.cache/craftos-living-ui/pb
~\AppData\Local\craftos-living-ui\pb
key: pb-${{ runner.os }}-${{ hashFiles('living-ui-v2/spec/pocketbase.version') }}
- name: Install workspace
run: npm install
- name: Typecheck (kit + tools)
run: npm run typecheck
- name: Lint
run: npx eslint .
- name: Scaffold demo project
run: node tools/src/cli.ts create "CI Demo" --description "CI validation project" --port 8090
- name: Link demo workspace
run: npm install
- name: Validation gate
run: node tools/src/cli.ts validate examples/ci-demo