Commit 61585a3
committed
chore(ci): cut PR wall-clock ~9.5min → ~5-6min — dedupe dogfood, shard it, cache lint's build
Three data-driven fixes from job-level timing of recent PR runs:
1. Test Core re-ran the whole ~7.5-minute dogfood suite that the dedicated
Dogfood job was already running in parallel (both gate on the same `core`
filter). Exclude @objectstack/dogfood from both the PR --affected run and
the push run; the Dogfood job remains the sole (and unconditional) runner
of the suite. Verified locally: turbo unions inclusive filters and then
subtracts `!` negations, so `--affected --filter=!@objectstack/dogfood`
is exactly "affected minus dogfood" (140 → 137 tasks, nothing else lost).
2. The Dogfood job itself was the workflow's longest pole (7m34s for the
~60-file suite on one 4-vCPU runner). Shard it 2-way with vitest's
deterministic file-level --shard, passed through turbo (pass-through args
are part of the turbo task hash, so each shard caches independently —
verified: distinct hashes per shard). The `objectstack verify` CLI step is
shard-independent and runs on shard 1 only. NOTE: if branch protection
requires "Dogfood Regression Gate", the required check must be renamed to
the two sharded names.
3. lint.yml's "TypeScript Type Check" job runs a full workspace build but was
the only build-running job with NO turbo cache step — it rebuilt everything
from scratch every run (4m38s observed, vs 51s for the same build in
ci.yml's cached Build Core). Add the same .turbo/cache step.
Also: lint.yml and codeql.yml had no concurrency group, so superseded runs of
both (they trigger on every PR sync) kept burning runners and delaying the
queue. Add the same cancel-in-progress policy ci.yml already documents.
Full-chain smoke: `turbo run test --filter=@objectstack/dogfood -- --shard=1/30`
runs green end-to-end (turbo → pnpm → vitest, 61 tasks OK).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ECTCrcCdZpCHw5zFSgcmGt1 parent d2a8695 commit 61585a3
3 files changed
Lines changed: 61 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
133 | 139 | | |
134 | 140 | | |
135 | 141 | | |
136 | 142 | | |
137 | | - | |
| 143 | + | |
138 | 144 | | |
139 | 145 | | |
140 | 146 | | |
141 | | - | |
| 147 | + | |
| 148 | + | |
142 | 149 | | |
143 | 150 | | |
144 | | - | |
| 151 | + | |
145 | 152 | | |
146 | 153 | | |
147 | 154 | | |
| |||
156 | 163 | | |
157 | 164 | | |
158 | 165 | | |
159 | | - | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
160 | 173 | | |
161 | 174 | | |
162 | 175 | | |
163 | 176 | | |
164 | 177 | | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
165 | 182 | | |
166 | 183 | | |
167 | 184 | | |
| |||
191 | 208 | | |
192 | 209 | | |
193 | 210 | | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
194 | 214 | | |
195 | 215 | | |
196 | 216 | | |
197 | 217 | | |
198 | | - | |
| 218 | + | |
199 | 219 | | |
200 | | - | |
201 | | - | |
| 220 | + | |
| 221 | + | |
202 | 222 | | |
203 | 223 | | |
204 | 224 | | |
205 | 225 | | |
206 | 226 | | |
207 | 227 | | |
208 | 228 | | |
209 | | - | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
210 | 232 | | |
211 | | - | |
| 233 | + | |
212 | 234 | | |
213 | 235 | | |
214 | 236 | | |
215 | 237 | | |
216 | 238 | | |
| 239 | + | |
217 | 240 | | |
| 241 | + | |
218 | 242 | | |
219 | 243 | | |
220 | 244 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
14 | 21 | | |
15 | 22 | | |
16 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
11 | 18 | | |
12 | 19 | | |
13 | 20 | | |
| |||
133 | 140 | | |
134 | 141 | | |
135 | 142 | | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
136 | 157 | | |
137 | 158 | | |
138 | 159 | | |
| |||
0 commit comments