-
Notifications
You must be signed in to change notification settings - Fork 0
108 lines (85 loc) · 2.59 KB
/
Copy pathci.yml
File metadata and controls
108 lines (85 loc) · 2.59 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_call: # Allow build.yml to reuse this workflow
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
test-gateway:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: cd apps/gateway && bun install
- name: Run tests
run: cd apps/gateway && bun test
test-desktop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Install dependencies
run: pnpm install
- name: TypeScript check
run: cd apps/desktop && npx tsc --noEmit
- name: Run tests
run: cd apps/desktop && npx vitest run
test-cloud-gateway:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: cd apps/cloud-gateway && bun install
- name: Run tests
run: cd apps/cloud-gateway && bun test
- name: TypeScript check
run: cd apps/cloud-gateway && bunx tsc --noEmit
docker-gateway:
needs: test-gateway
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t routebox-gateway -f apps/gateway/Dockerfile .
- name: Smoke test container
run: |
docker run -d --name gw -p 3001:3001 \
-e ROUTEBOX_TOKEN=test \
-e OPENAI_API_KEY=sk-fake \
routebox-gateway
sleep 3
curl -sf http://localhost:3001/health | grep -q '"status":"ok"'
docker stop gw
docker-cloud-gateway:
needs: test-cloud-gateway
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t routebox-cloud-gateway -f apps/cloud-gateway/Dockerfile .
- name: Smoke test container
run: |
docker run -d --name cgw -p 3002:3001 \
-e DATABASE_URL=postgres://x:x@localhost/x \
-e JWT_SECRET=test-secret-for-ci \
-e STRIPE_SECRET_KEY=sk_test_fake \
-e STRIPE_WEBHOOK_SECRET=whsec_fake \
routebox-cloud-gateway
sleep 3
curl -sf http://localhost:3002/health || true
docker stop cgw