Skip to content

Commit 72c2eef

Browse files
committed
ci(FR-2791): add backend.ai-client lint/typecheck/test/build workflow
1 parent 2ecde6f commit 72c2eef

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: backend.ai-client CI
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- 'packages/backend.ai-client/**'
7+
- 'pnpm-lock.yaml'
8+
- '.github/workflows/backend-ai-client-ci.yml'
9+
push:
10+
branches: [main]
11+
paths:
12+
- 'packages/backend.ai-client/**'
13+
- 'pnpm-lock.yaml'
14+
15+
permissions:
16+
contents: read
17+
18+
concurrency:
19+
group: backend-ai-client-ci-${{ github.workflow }}-${{ github.event.pull_request.head.ref || github.ref }}
20+
cancel-in-progress: true
21+
22+
jobs:
23+
verify:
24+
name: Lint, typecheck, test, build
25+
runs-on: ubuntu-latest
26+
steps:
27+
- uses: actions/checkout@v5
28+
29+
- uses: pnpm/action-setup@v5
30+
name: Install pnpm
31+
with:
32+
run_install: false
33+
34+
- uses: actions/setup-node@v5
35+
with:
36+
node-version-file: '.nvmrc'
37+
cache: 'pnpm'
38+
39+
- name: Get pnpm store directory
40+
shell: bash
41+
run: |
42+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
43+
44+
- uses: actions/cache@v5
45+
name: Setup pnpm cache
46+
with:
47+
path: ${{ env.STORE_PATH }}
48+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
49+
restore-keys: |
50+
${{ runner.os }}-pnpm-store-
51+
52+
- name: Install dependencies
53+
run: pnpm install --merge-git-branch-lockfiles --no-frozen-lockfile
54+
55+
- name: Lint
56+
run: pnpm --filter backend.ai-client run lint
57+
58+
- name: Typecheck
59+
run: pnpm --filter backend.ai-client exec tsc --noEmit
60+
61+
- name: Test
62+
run: pnpm --filter backend.ai-client run test
63+
64+
- name: Build
65+
run: pnpm --filter backend.ai-client run build

0 commit comments

Comments
 (0)