Skip to content

Commit 2e533f7

Browse files
committed
feat: improve ci
1 parent d1f5f55 commit 2e533f7

File tree

1 file changed

+20
-60
lines changed

1 file changed

+20
-60
lines changed

.github/workflows/checks.yml

Lines changed: 20 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -8,80 +8,40 @@ on:
88
- main
99
- dev
1010

11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
1115
jobs:
12-
lint:
16+
lint-typecheck-test:
17+
name: Lint, Typecheck & Test
1318
runs-on: ubuntu-latest
19+
timeout-minutes: 15
20+
1421
steps:
15-
- uses: actions/checkout@v4
22+
- name: Checkout repository
23+
uses: actions/checkout@v4
24+
25+
- name: Setup pnpm
26+
uses: pnpm/action-setup@v4
27+
1628
- name: Setup Node.js
17-
uses: actions/setup-node@v3
29+
uses: actions/setup-node@v4
1830
with:
1931
node-version: 24
20-
- name: Install pnpm
21-
run: |
22-
corepack enable
23-
corepack prepare pnpm@latest --activate
32+
cache: pnpm
33+
2434
- name: Install dependencies
2535
run: pnpm install
36+
2637
- name: Lint
2738
run: pnpm lint
2839

29-
typecheck:
30-
runs-on: ubuntu-latest
31-
32-
steps:
33-
- uses: actions/checkout@v4
34-
- name: Setup Node.js
35-
uses: actions/setup-node@v3
36-
with:
37-
node-version: 24
38-
- name: Install pnpm
39-
run: |
40-
corepack enable
41-
corepack prepare pnpm@latest --activate
42-
- name: Install dependencies
43-
run: pnpm install
4440
- name: Typecheck
4541
run: pnpm typecheck
4642

47-
test:
48-
runs-on: ubuntu-latest
49-
services:
50-
postgres:
51-
image: pgvector/pgvector:0.8.0-pg17
52-
ports:
53-
- 5432:5432
54-
env:
55-
POSTGRES_USER: root
56-
POSTGRES_PASSWORD: root
57-
POSTGRES_DB: app
58-
options: >-
59-
--health-cmd="pg_isready -U postgres"
60-
--health-interval=10s
61-
--health-timeout=5s
62-
--health-retries=5
63-
redis:
64-
image: redis:latest
65-
ports:
66-
- 6379:6379
67-
options: >-
68-
--health-cmd="redis-cli ping"
69-
--health-interval=10s
70-
--health-timeout=5s
71-
--health-retries=5
72-
steps:
73-
- uses: actions/checkout@v4
74-
- uses: pnpm/action-setup@v4
75-
with:
76-
run_install: false
77-
- name: Setup Node.JS
78-
uses: actions/setup-node@v3
79-
with:
80-
node-version: 24
81-
- name: Install dependencies
82-
run: pnpm install
83-
- name: Run tests
84-
run: pnpm run test
43+
- name: Test
44+
run: pnpm test
8545

8646
security:
8747
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)