77 merge_group :
88 branches :
99 - main
10+ - next
11+ - " maintenance/v[0-9]+"
1012
1113permissions :
1214 contents : read
@@ -16,39 +18,24 @@ concurrency:
1618 cancel-in-progress : true
1719
1820jobs :
19- build :
20- name : Build
21+ lint-workflows :
22+ name : Lint workflows
2123 runs-on : ubuntu-latest
24+ permissions :
25+ actions : read # only required in private repos
26+ security-events : write # allow writing security events
2227 steps :
2328 - name : Check out repo
2429 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2530 with :
2631 persist-credentials : false
2732
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
33+ - name : Run zizmor
34+ uses : zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6
3935 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
36+ persona : pedantic
37+ annotations : true
38+ advanced-security : false
5239
5340 test :
5441 name : Test
@@ -81,12 +68,49 @@ jobs:
8168 env :
8269 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
8370
71+ typecheck :
72+ name : Typecheck
73+ runs-on : ubuntu-latest
74+ timeout-minutes : 20
75+ steps :
76+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
77+ with :
78+ persist-credentials : false
79+
80+ - uses : ./.github/actions/ci-setup
81+
82+ - name : Codegen
83+ run : pnpm codegen:github
84+
85+ - name : Typecheck
86+ run : pnpm typecheck
87+
88+ lint :
89+ name : Lint
90+ runs-on : ubuntu-latest
91+ timeout-minutes : 20
92+ steps :
93+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
94+ with :
95+ persist-credentials : false
96+
97+ - uses : ./.github/actions/ci-setup
98+
99+ - name : Codegen
100+ run : pnpm codegen:github
101+
102+ - name : Lint
103+ run : pnpm lint
104+
105+ - name : Format
106+ run : pnpm format
107+
84108 ci-ok :
85109 name : CI OK
86110 runs-on : ubuntu-latest
87111 if : always()
88- needs : [build, lint, test]
112+ needs : [lint-workflows , test, typecheck, lint ]
89113 steps :
90114 - name : Exit with error if some jobs are not successful
91- if : ${{ always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')) }}
92115 run : exit 1
116+ if : ${{ always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')) }}
0 commit comments