1212jobs :
1313 check :
1414 runs-on : ubuntu-latest
15+ timeout-minutes : 15
1516 steps :
1617 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
17- - uses : oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
18+ - uses : ./.github/actions/setup
1819 with :
19- bun-version-file : .bun-version
20- - name : Install dependencies
21- run : bun install --frozen-lockfile
20+ yamllint : " true"
2221 # bun test loads the fetched, gitignored OpenAPI spec and GraphQL
2322 # schema; the composite restores each from cache or fetches on a miss.
2423 - uses : ./.github/actions/fetch-test-artifacts
2524 - name : Lint (biome)
2625 run : bun run lint
26+ - name : Lint (yaml)
27+ run : bun run lint:yaml
2728 - name : Lint (architecture)
2829 run : bun run lint:arch
2930 - name : Typecheck
5051 with :
5152 # The newest release merge can be arbitrarily far behind HEAD.
5253 fetch-depth : 0
53- - uses : oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
54+ - uses : ./.github/actions/setup
5455 with :
55- bun-version-file : .bun-version
56+ install : " false "
5657 - name : Confirm last-release-sha matches the newest release merge
5758 run : bun .github/scripts/release-pipeline.ts boundary-check
5859
@@ -63,21 +64,18 @@ jobs:
6364 timeout-minutes : 5
6465 steps :
6566 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
66- - uses : oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
67+ - uses : ./.github/actions/setup
6768 with :
68- bun-version-file : .bun-version
69+ install : " false "
6970 - name : Require the release PR to carry this cycle's anchor
7071 run : bun .github/scripts/release-pipeline.ts anchor-check
7172
7273 schema-check :
7374 runs-on : ubuntu-latest
75+ timeout-minutes : 15
7476 steps :
7577 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
76- - uses : oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
77- with :
78- bun-version-file : .bun-version
79- - name : Install dependencies
80- run : bun install --frozen-lockfile
78+ - uses : ./.github/actions/setup
8179 - name : Regenerate the schema and compare
8280 run : bun run build:check
8381
@@ -87,15 +85,14 @@ jobs:
8785 # than the floor, so the PATH node is 24 and the floor's binary is handed to the consumer alone.
8886 package-smoke :
8987 runs-on : ubuntu-latest
88+ timeout-minutes : 15
9089 strategy :
9190 fail-fast : false
9291 matrix :
9392 node-version : ["22.14", "24"]
9493 steps :
9594 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
96- - uses : oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
97- with :
98- bun-version-file : .bun-version
95+ - uses : ./.github/actions/setup
9996 - uses : actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
10097 with :
10198 node-version : ${{ matrix.node-version }}
@@ -104,22 +101,17 @@ jobs:
104101 - uses : actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
105102 with :
106103 node-version : 24
107- - name : Install dependencies
108- run : bun install --frozen-lockfile
109104 - name : Build, pack, install, import, and typecheck the library
110105 run : bun .github/scripts/package-smoke.ts
111106
112107 # Drift and permission skips are fine here (the default token cannot read admin surfaces); a CRASH is not, and an
113108 # exception never sets the result output.
114109 self-check :
115110 runs-on : ubuntu-latest
111+ timeout-minutes : 15
116112 steps :
117113 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
118- - uses : oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
119- with :
120- bun-version-file : .bun-version
121- - name : Install dependencies
122- run : bun install --frozen-lockfile --ignore-scripts
114+ - uses : ./.github/actions/setup
123115 - name : Build the action bundle
124116 run : bun run build:bundle
125117 - name : Run settings-as-code (check mode)
@@ -142,18 +134,15 @@ jobs:
142134 # to diff against, so it runs the full corpus.
143135 e2e-smoke :
144136 runs-on : ubuntu-latest
137+ timeout-minutes : 15
145138 steps :
146139 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
147140 with :
148141 fetch-depth : 0
149- - uses : oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
150- with :
151- bun-version-file : .bun-version
142+ - uses : ./.github/actions/setup
152143 - uses : actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
153144 with :
154145 node-version : 24
155- - name : Install dependencies
156- run : bun install --frozen-lockfile
157146 - name : Select sections from the diff
158147 id : select
159148 env :
@@ -188,18 +177,15 @@ jobs:
188177 # the selector finds nothing settings-related in the diff.
189178 endpoint-coverage :
190179 runs-on : ubuntu-latest
180+ timeout-minutes : 15
191181 steps :
192182 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
193183 with :
194184 fetch-depth : 0
195- - uses : oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
196- with :
197- bun-version-file : .bun-version
185+ - uses : ./.github/actions/setup
198186 - uses : actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
199187 with :
200188 node-version : 24
201- - name : Install dependencies
202- run : bun install --frozen-lockfile
203189 # Only the selector's "none" answer matters here. It runs BEFORE the spec cache/fetch so a PR that selects
204190 # nothing skips the download too.
205191 - name : Check whether the diff can affect route coverage
0 commit comments