Skip to content

Commit 154bdbd

Browse files
Create ci.yml
1 parent 18a28cc commit 154bdbd

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: ci
2+
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
8+
jobs:
9+
verify:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4
14+
15+
- name: Setup Bun
16+
uses: oven-sh/setup-bun@v2
17+
with:
18+
bun-version: latest
19+
20+
- name: Install
21+
run: bun install --frozen-lockfile || bun install
22+
23+
- name: Typecheck
24+
run: bun run typecheck
25+
26+
- name: CLI smoke
27+
run: |
28+
bun run src/index.ts --version
29+
bun run src/index.ts --help
30+
bun run src/index.ts --banner
31+
bun run src/index.ts --list-models
32+
33+
- name: Integration smoke tests
34+
run: bun run test:smoke
35+
36+
- name: Ensure no accidental home dependency for packaged defaults
37+
run: |
38+
rm -rf "$HOME/.arrowcode"
39+
bun -e '
40+
import { listTemplates } from "./src/templates/catalog.ts";
41+
import { loadAgentPersonality } from "./src/agents/personalities.ts";
42+
import { existsSync } from "fs";
43+
import { join } from "path";
44+
import { homedir } from "os";
45+
const t = listTemplates();
46+
if (t.length < 12) throw new Error("templates: " + t.length);
47+
const p = loadAgentPersonality("orchestrator");
48+
if (p.length < 20) throw new Error("personality empty");
49+
if (existsSync(join(homedir(), ".arrowcode"))) throw new Error("home created");
50+
console.log("defaults-ok", t.length);
51+
'

0 commit comments

Comments
 (0)