|
@@ -0,0 +1,45 @@
|
|
|
|
|
+name: CI
|
|
|
|
|
+
|
|
|
|
|
+on:
|
|
|
|
|
+ push:
|
|
|
|
|
+ branches:
|
|
|
|
|
+ - main
|
|
|
|
|
+ pull_request:
|
|
|
|
|
+ branches:
|
|
|
|
|
+ - main
|
|
|
|
|
+
|
|
|
|
|
+concurrency:
|
|
|
|
|
+ group: ${{ github.workflow }}-${{ github.ref }}
|
|
|
|
|
+ cancel-in-progress: true
|
|
|
|
|
+
|
|
|
|
|
+jobs:
|
|
|
|
|
+ ci:
|
|
|
|
|
+ name: Lint, Type Check & Build
|
|
|
|
|
+ runs-on: ubuntu-latest
|
|
|
|
|
+
|
|
|
|
|
+ steps:
|
|
|
|
|
+ - name: Checkout repository
|
|
|
|
|
+ uses: actions/checkout@v4
|
|
|
|
|
+
|
|
|
|
|
+ - name: Install pnpm
|
|
|
|
|
+ uses: pnpm/action-setup@v4
|
|
|
|
|
+ with:
|
|
|
|
|
+ version: 9.0.0
|
|
|
|
|
+
|
|
|
|
|
+ - name: Setup Node.js
|
|
|
|
|
+ uses: actions/setup-node@v4
|
|
|
|
|
+ with:
|
|
|
|
|
+ node-version: 20
|
|
|
|
|
+ cache: "pnpm"
|
|
|
|
|
+
|
|
|
|
|
+ - name: Install dependencies
|
|
|
|
|
+ run: pnpm install --frozen-lockfile
|
|
|
|
|
+
|
|
|
|
|
+ - name: Lint
|
|
|
|
|
+ run: pnpm lint
|
|
|
|
|
+
|
|
|
|
|
+ - name: Type check
|
|
|
|
|
+ run: pnpm type-check
|
|
|
|
|
+
|
|
|
|
|
+ - name: Build
|
|
|
|
|
+ run: pnpm build
|