77 merge_group :
88 branches :
99 - main
10+ - next
11+ # merge group rulesets don't allow wildcards so in settings each maintenance branch needs to be added separately
12+ - " maintenance/v*" # branch rulesets don't support v[0-9]+
1013
1114permissions :
1215 contents : read
@@ -16,39 +19,24 @@ concurrency:
1619 cancel-in-progress : true
1720
1821jobs :
19- build :
20- name : Build
22+ lint-workflows :
23+ name : Lint workflows
2124 runs-on : ubuntu-latest
25+ permissions :
26+ actions : read # only required in private repos
27+ security-events : write # allow writing security events
2228 steps :
2329 - name : Check out repo
2430 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2531 with :
2632 persist-credentials : false
2733
28- - uses : ./.github/actions/ci-setup
29-
30- - name : Build
31- run : pnpm build
32-
33- lint :
34- name : Lint
35- runs-on : ubuntu-latest
36- steps :
37- - name : Check out repo
38- uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
34+ - name : Run zizmor
35+ uses : zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6
3936 with :
40- persist-credentials : false
41-
42- - uses : ./.github/actions/ci-setup
43-
44- - name : Codegen
45- run : pnpm codegen:github
46-
47- - name : Lint
48- run : pnpm lint
49-
50- - name : Format
51- run : pnpm format
37+ persona : pedantic
38+ annotations : true
39+ advanced-security : false
5240
5341 test :
5442 name : Test
@@ -81,12 +69,49 @@ jobs:
8169 env :
8270 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
8371
72+ typecheck :
73+ name : Typecheck
74+ runs-on : ubuntu-latest
75+ timeout-minutes : 20
76+ steps :
77+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
78+ with :
79+ persist-credentials : false
80+
81+ - uses : ./.github/actions/ci-setup
82+
83+ - name : Codegen
84+ run : pnpm codegen:github
85+
86+ - name : Typecheck
87+ run : pnpm typecheck
88+
89+ lint :
90+ name : Lint
91+ runs-on : ubuntu-latest
92+ timeout-minutes : 20
93+ steps :
94+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
95+ with :
96+ persist-credentials : false
97+
98+ - uses : ./.github/actions/ci-setup
99+
100+ - name : Codegen
101+ run : pnpm codegen:github
102+
103+ - name : Lint
104+ run : pnpm lint
105+
106+ - name : Format
107+ run : pnpm format
108+
84109 ci-ok :
85110 name : CI OK
86111 runs-on : ubuntu-latest
87112 if : always()
88- needs : [build, lint, test]
113+ needs : [lint-workflows , test, typecheck, lint ]
89114 steps :
90115 - name : Exit with error if some jobs are not successful
91- if : ${{ always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')) }}
92116 run : exit 1
117+ if : ${{ always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')) }}
0 commit comments