Skip to content

Commit 53f61af

Browse files
committed
Add PR quality workflow
1 parent 5a35625 commit 53f61af

2 files changed

Lines changed: 78 additions & 0 deletions

File tree

.github/workflows/AGENTS.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# GitHub Workflows
2+
3+
- Pin all GitHub Actions to their commit SHA, not a tag. Append the tag as a comment for readability (e.g., `uses: actions/checkout@abc123... # v4.3.2`).

.github/workflows/pr-quality.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: PR Quality
2+
3+
# This workflow owns required PR status checks. Add only jobs that should block
4+
# merging when they fail.
5+
6+
on:
7+
pull_request:
8+
9+
concurrency:
10+
group: pr-quality-${{ github.event.pull_request.number || github.ref }}
11+
cancel-in-progress: true
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
typecheck:
18+
name: Type Check
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
24+
25+
- name: Set up pnpm
26+
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
27+
28+
- name: Set up Node.js
29+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
30+
with:
31+
node-version-file: .node-version
32+
cache: pnpm
33+
34+
- name: Install dependencies
35+
run: pnpm install --frozen-lockfile
36+
37+
- name: Type check
38+
run: pnpm --recursive exec tsc --noEmit
39+
40+
lint:
41+
name: Lint
42+
runs-on: ubuntu-latest
43+
44+
steps:
45+
- name: Checkout
46+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
47+
48+
- name: Set up Biome
49+
uses: biomejs/setup-biome@4c91541eaada48f67d7dbd7833600ce162b68f51 # v2.7.1
50+
51+
- name: Lint
52+
run: biome ci .
53+
54+
test:
55+
name: Test
56+
runs-on: ubuntu-latest
57+
58+
steps:
59+
- name: Checkout
60+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
61+
62+
- name: Set up pnpm
63+
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
64+
65+
- name: Set up Node.js
66+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
67+
with:
68+
node-version-file: .node-version
69+
cache: pnpm
70+
71+
- name: Install dependencies
72+
run: pnpm install --frozen-lockfile
73+
74+
- name: Test
75+
run: pnpm --recursive test

0 commit comments

Comments
 (0)