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 }}