-
Notifications
You must be signed in to change notification settings - Fork 0
54 lines (41 loc) · 1.21 KB
/
Copy pathci.yml
File metadata and controls
54 lines (41 loc) · 1.21 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
# Continuous integration: lint, typecheck, tests, build, and a packaged-CLI
# smoke test. Runs fully offline (no provider credentials, no model calls).
name: ci
on:
pull_request:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
env:
# Pinned Node version used by all product builds (see docs/release-process.md).
NODE_VERSION: "22.13.1"
jobs:
quality:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js (pinned)
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
- name: Install dependencies (locked)
run: npm ci
- name: Lint
run: npm run lint
- name: Typecheck
run: npm run typecheck
- name: Test
run: npm test
- name: Build (tsc)
run: npm run build
- name: Build portable CLI bundle
run: npm run build:cli
- name: Smoke-test the portable CLI (outside the repository)
run: node scripts/smoke-test.mjs --target dist/cli/agent-skill-verifier.cjs