Repository navigation
61 lines (49 loc) · 1.55 KB
/
Copy pathagent-app.yml
File metadata and controls
61 lines (49 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: agent-app
# Self-test for the Agent App TEMPLATE code (kit/blueprint/tools) in this repo.
# Scaffolds a throwaway project and runs the local validation gate on it.
# User-made Agent Apps never touch this workflow — they validate locally.
on:
push:
paths:
- 'agent-app/**'
- '.github/workflows/agent-app.yml'
pull_request:
paths:
- 'agent-app/**'
- '.github/workflows/agent-app.yml'
defaults:
run:
working-directory: agent-app
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-agent-app/pb
~/.cache/craftos-agent-app/pb
~\AppData\Local\craftos-agent-app\pb
key: pb-${{ runner.os }}-${{ hashFiles('agent-app/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