chore: add CI workflow
the3ash committed
Jul 10, 2025 at 19:21 UTC
f44e2222caa0587b7449b869b61eacff86bbb991
1 file changed
+56
.github/workflows/ci.yml
new
+56
@@ -0,0 +1,56 @@
1
+name: CI
2
+
3
+on:
4
+ push:
5
+ branches: [main, master]
6
+ pull_request:
7
+ branches: [main, master]
8
+
9
+jobs:
10
+ # Validate dependencies and build
11
+ validate:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - name: Checkout code
15
+ uses: actions/checkout@v4
16
+
17
+ - name: Setup Node.js
18
+ uses: actions/setup-node@v4
19
+ with:
20
+ node-version: 'latest'
21
+ cache: 'pnpm'
22
+
23
+ - name: Setup pnpm
24
+ uses: pnpm/action-setup@v4
25
+ with:
26
+ version: 8
27
+
28
+ - name: Install dependencies
29
+ run: pnpm install --frozen-lockfile
30
+
31
+ - name: Run linting
32
+ run: pnpm lint
33
+
34
+ - name: Build project
35
+ run: pnpm build
36
+
37
+ # Auto-merge Dependabot PRs
38
+ auto-merge:
39
+ if: |
40
+ github.event_name == 'pull_request' &&
41
+ github.actor == 'dependabot[bot]' &&
42
+ contains(github.event.pull_request.labels.*.name, 'dependencies')
43
+ needs: validate
44
+ runs-on: ubuntu-latest
45
+ permissions:
46
+ contents: write
47
+ pull-requests: write
48
+ steps:
49
+ - name: Checkout code
50
+ uses: actions/checkout@v4
51
+
52
+ - name: Enable auto-merge for Dependabot PRs
53
+ run: |
54
+ gh pr merge --auto --squash "${{ github.event.pull_request.number }}"
55
+ env:
56
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}