Skip to content

Commit 74f6974

Browse files
committed
ci: replace Travis with GitHub Actions
Node 20+22 matrix, lint/test/build jobs. Concurrency control, timeout protection. Assisted-by: 🤖 claude-opus-4-6@default
1 parent 071d854 commit 74f6974

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [master, develop]
6+
pull_request:
7+
branches: [master, develop]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
lint:
15+
name: Lint
16+
runs-on: ubuntu-latest
17+
timeout-minutes: 5
18+
steps:
19+
- uses: actions/checkout@v4
20+
- uses: actions/setup-node@v4
21+
with:
22+
node-version: 22
23+
cache: npm
24+
- run: npm ci
25+
- run: npx biome check src/
26+
27+
test:
28+
name: Test (Node ${{ matrix.node-version }})
29+
runs-on: ubuntu-latest
30+
timeout-minutes: 10
31+
strategy:
32+
matrix:
33+
node-version: [20, 22]
34+
steps:
35+
- uses: actions/checkout@v4
36+
- uses: actions/setup-node@v4
37+
with:
38+
node-version: ${{ matrix.node-version }}
39+
cache: npm
40+
- run: npm ci
41+
- run: npm run test:coverage
42+
43+
build:
44+
name: Build
45+
runs-on: ubuntu-latest
46+
timeout-minutes: 5
47+
needs: [lint, test]
48+
steps:
49+
- uses: actions/checkout@v4
50+
- uses: actions/setup-node@v4
51+
with:
52+
node-version: 22
53+
cache: npm
54+
- run: npm ci
55+
- run: npm run build

0 commit comments

Comments
 (0)