Skip to content

Commit 9f63a91

Browse files
feat(ci): Add basic CI workflow with OS matrix
- Run lint, typecheck, and test on ubuntu, macos, and windows - Use Node.js 20 with npm caching - All steps have explicit timeouts to prevent hangs
1 parent a757650 commit 9f63a91

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, 'epic/*', 'feature/*']
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
check-all:
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
os: [ubuntu-latest, macos-latest, windows-latest]
15+
16+
runs-on: ${{ matrix.os }}
17+
timeout-minutes: 15
18+
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v4
22+
timeout-minutes: 2
23+
24+
- name: Setup Node.js
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: 20
28+
cache: 'npm'
29+
timeout-minutes: 3
30+
31+
- name: Install dependencies
32+
run: npm ci
33+
timeout-minutes: 5
34+
35+
- name: Run lint
36+
run: npm run lint
37+
timeout-minutes: 2
38+
39+
- name: Run typecheck
40+
run: npm run typecheck
41+
timeout-minutes: 3
42+
43+
- name: Run tests
44+
run: npm run test
45+
timeout-minutes: 5

0 commit comments

Comments
 (0)