Skip to content

Commit d44da30

Browse files
authored
feat: add pre-merge build gate CI workflow (#18780)
Runs go build, npm ci, npm run build, and npm run lint on every PR to main with no paths-ignore. This catches lockfile mismatches, Go symbol conflicts, and TypeScript errors before merge instead of after. No paths-ignore — every PR gets checked, including docs-only and workflow-only changes, since the build may already be broken underneath. Signed-off-by: Andrew Anderson <andy@clubanderson.com>
1 parent a8e04a7 commit d44da30

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Pre-Merge Build Gate
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
7+
concurrency:
8+
group: pre-merge-${{ github.head_ref || github.ref }}
9+
cancel-in-progress: true
10+
11+
jobs:
12+
build-gate:
13+
name: build-gate
14+
runs-on: ubuntu-latest
15+
timeout-minutes: 10
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- uses: actions/setup-node@v4
20+
with:
21+
node-version: '22'
22+
23+
- uses: actions/setup-go@v5
24+
with:
25+
go-version-file: go.mod
26+
27+
- name: Go build
28+
run: go build ./...
29+
30+
- name: Frontend install
31+
working-directory: web
32+
run: npm ci
33+
34+
- name: Frontend build
35+
working-directory: web
36+
run: npm run build
37+
38+
- name: Frontend lint
39+
working-directory: web
40+
run: npm run lint

0 commit comments

Comments
 (0)