Skip to content

Commit 01b9a2a

Browse files
committed
ci: add GitHub Actions CI/CD workflows
1 parent b268956 commit 01b9a2a

2 files changed

Lines changed: 93 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, develop]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
test:
11+
name: Unit & Integration Tests
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- uses: actions/checkout@v4
16+
17+
- name: Setup Node.js
18+
uses: actions/setup-node@v4
19+
with:
20+
node-version: '22'
21+
22+
- name: Setup pnpm
23+
uses: pnpm/action-setup@v4
24+
with:
25+
version: latest
26+
27+
- name: Install dependencies
28+
run: pnpm install
29+
30+
- name: Run unit tests
31+
run: pnpm test:unit --coverage
32+
33+
- name: Run integration tests
34+
run: pnpm test:integration
35+
36+
- name: Upload coverage
37+
uses: codecov/codecov-action@v4
38+
with:
39+
files: ./coverage/lcov.info
40+
fail_ci_if_error: false
41+
continue-on-error: true
42+
43+
lint:
44+
name: Lint
45+
runs-on: ubuntu-latest
46+
steps:
47+
- uses: actions/checkout@v4
48+
- uses: actions/setup-node@v4
49+
with:
50+
node-version: '22'
51+
- uses: pnpm/action-setup@v4
52+
with:
53+
version: latest
54+
- run: pnpm install
55+
- run: pnpm lint
56+
57+
build:
58+
name: Build
59+
runs-on: ubuntu-latest
60+
steps:
61+
- uses: actions/checkout@v4
62+
- uses: actions/setup-node@v4
63+
with:
64+
node-version: '22'
65+
- uses: pnpm/action-setup@v4
66+
with:
67+
version: latest
68+
- run: pnpm install
69+
- run: pnpm build

.github/workflows/e2e.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: E2E Tests
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
jobs:
8+
e2e:
9+
name: E2E (testcontainers)
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: actions/setup-node@v4
15+
with:
16+
node-version: '22'
17+
- uses: pnpm/action-setup@v4
18+
with:
19+
version: latest
20+
- run: pnpm install
21+
- name: Run E2E tests
22+
run: pnpm test:e2e
23+
env:
24+
TESTCONTAINERS_RYUK_DISABLED: true

0 commit comments

Comments
 (0)