Skip to content

Commit 3e0e79e

Browse files
committed
add ci
1 parent 65e76cd commit 3e0e79e

File tree

4 files changed

+97
-3
lines changed

4 files changed

+97
-3
lines changed

.changeset/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"$schema": "https://unpkg.com/@changesets/config@2.0.0/schema.json",
33
"changelog": "@changesets/cli/changelog",
44
"baseBranch": "main",
5-
"commit": false,
5+
"commit": true,
66
"fixed": [],
77
"linked": [],
88
"access": "public",

.github/workflows/ci.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
8+
jobs:
9+
lint:
10+
name: Lint
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout Repo
14+
uses: actions/checkout@v4
15+
16+
- name: Setup pnpm 10
17+
uses: pnpm/action-setup@v3
18+
with:
19+
version: 10
20+
21+
- name: Setup Node.js 24.x
22+
uses: actions/setup-node@v4
23+
with:
24+
node-version: 24.x
25+
26+
- name: Install Dependencies
27+
run: pnpm i
28+
29+
- name: Run Linting
30+
run: pnpm dlx ultracite check

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ jobs:
2020
with:
2121
version: 10
2222

23-
- name: Setup Node.js 20.x
23+
- name: Setup Node.js 24.x
2424
uses: actions/setup-node@v4
2525
with:
26-
node-version: 20.x
26+
node-version: 24.x
2727

2828
- name: Install Dependencies
2929
run: pnpm i
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Plan: Add Linting to GitHub CI/CD
2+
3+
## Summary
4+
Create a new GitHub Actions workflow that runs linting checks on pull requests to enforce code quality before merging.
5+
6+
## Changes
7+
8+
### 1. Create `.github/workflows/ci.yml`
9+
10+
Create a new workflow file with the following configuration:
11+
12+
```yaml
13+
name: CI
14+
15+
on:
16+
pull_request:
17+
branches:
18+
- main
19+
20+
jobs:
21+
lint:
22+
name: Lint
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Checkout Repo
26+
uses: actions/checkout@v4
27+
28+
- name: Setup pnpm 10
29+
uses: pnpm/action-setup@v3
30+
with:
31+
version: 10
32+
33+
- name: Setup Node.js 24.x
34+
uses: actions/setup-node@v4
35+
with:
36+
node-version: 24.x
37+
38+
- name: Install Dependencies
39+
run: pnpm i
40+
41+
- name: Run Linting
42+
run: pnpm dlx ultracite check
43+
```
44+
45+
### Why This Approach
46+
47+
1. **Separate workflow file** - Keeps linting separate from release logic for clarity
48+
2. **Mirrors local setup** - Uses same Node.js (24.x) and pnpm (10) versions as the release workflow
49+
3. **Check mode** - Uses `ultracite check` to validate without modifying files (appropriate for CI)
50+
4. **PR trigger** - Runs on pull requests to catch issues before merge
51+
52+
## Files Modified
53+
54+
| File | Action |
55+
|------|--------|
56+
| `.github/workflows/ci.yml` | Create (new file) |
57+
58+
## Verification
59+
60+
After implementation:
61+
1. Create a test branch with a linting issue (e.g., unused import)
62+
2. Open a PR to main
63+
3. Verify the CI workflow runs and fails on the linting issue
64+
4. Fix the issue and verify the workflow passes

0 commit comments

Comments
 (0)