Commit 6d2f601
Matthew
ci: verify what we publish from the consumer side
Nothing in this repo has ever checked the artifact a user downloads. ci.yml proves
the code builds and its tests pass; release.yml's verify-assets proves the upload
step believed itself, asserted from inside the run that did the uploading. Neither
is evidence about the published thing.
That gap shipped twice in this fleet. webrequest-hook v1.0.4 published as a
zero-asset phantom: tag, Release object, nothing to download. headroom-hook's
published Docker bundle could not boot the gateway, because its shipped
docker/bundle/config.yaml still used config shapes busbar 1.5.3 retired, so the
container exits 1 during config load and never binds a port. Both were green
everywhere.
Adds consumer-verify.yml, which calls the fleet's shared
GetBusbar/busbar/.github/workflows/plugin-consumer-verify.yml. It checks out
nothing, so a fix that is committed but never published still fails it. It asserts
the Release is published rather than a still-draft, that every platform archive it
owes is present and downloadable THROUGH /releases/latest/download/ (a count can
never see a missing platform, only a name can), that one archive really is a plugin
busbar would accept - manifest name/alias/kind/version, the sha256 binding the
cdylib beside it, a real shared library, a non-empty signature - and, where a
runnable bundle is published, that the image BOOTS AND SERVES.
The same job is appended to release.yml as its final step, so a broken publish
turns the RELEASE red rather than leaving a green release beside a red run nobody
correlates. On failure the shared workflow opens or updates ONE labelled issue
naming the failing check, its expected and observed values and the run URL, and
closes it again when a run passes.
The inputs are read off the PUBLISHED manifest rather than guessed from the crate
name: this fleet genuinely disagrees with itself about naming (the store repos drop
the trailing -plugin the auth repos keep, and store-valkey publishes as
busbar-store-redis).1 parent 941efe5 commit 6d2f601
2 files changed
Lines changed: 92 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
257 | 257 | | |
258 | 258 | | |
259 | 259 | | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
0 commit comments