Repository navigation
Description
Summary
The plugins-bake job in main-cd.yml terminates with a non-zero exit status on every
platform build whose commit contains e7f88b566. No plugins publication has been sealed
for any framework identity resolved from an image built since then. The most recent sealed
publication is identity sd64a09253f0720ffe02e2e5ccc255776, written 2026-09-01T06:43:41Z
by run 33475049052.
Every other leg of CD succeeds. From run 33587509969:
LEGS: preflight=success portal-image=success migration-image=success
plugin-test-image=success promote=success publish-bake=success
notify-platform-update=success verify-images=success
plugins-modules=success plugins-bake-image=success
plugins-bake=failure notify-dependents=skipped
Failure
Four node sources in MeshWeaver.Plugins fail to compile:
RED AppleMaps/Gallery
RED GoogleMaps/Gallery
RED OpenStreetMap/Gallery
RED Cornerstone/Pricing
CS0234: The type or namespace name 'Maps' does not exist in the namespace 'MeshWeaver'
CS0246: MapControl / MapOptions / LatLng / MapMarker / MapCircle could not be found
Confirmed on runs 33585729083 (2026-09-02T03:05Z), 33586021199 (03:10Z) and
33587509969 (03:33Z), all on platform commit 71869075f.
Cause
MeshWeaver.Mapswas removed from this repository ine7f88b566(author
2026-09-01T08:01:19Z, "refactor(maps,cornerstone): the map control and its one gated
consumer leave").src/MeshWeaver.Maps/now holds no tracked source.- It was added to MeshWeaver.Plugins in
98f944a8("feat(indexing,maps): the indexing
pipeline and the map control move in"). plugins-bake(main-cd.yml:2217) compiles the Plugins node sources inside
mw-plugin-test. The reference assembly set available to that compilation is the
assemblies shipped in the image plus the module bundles named bymodule-artifacts,
currentlymodule-bundle-MeshWeaver.{AI,Markdown.Collaboration}.- After (1),
MeshWeaver.Mapsis in neither.Cornerstone/Pricingis the "one gated
consumer" named in the subject ofe7f88b566; the three gallery nodes bind the map
control types directly.
Why MeshWeaver.Plugins CI does not detect this
MeshWeaver.Plugins pins mw-plugin-test by digest at core fe7166c (2026-08-30), which
predates e7f88b566 and still ships MeshWeaver.Maps. Its Compile every NodeType (vs core) gate therefore passes. This is the condition described in that repository's
.github/workflows/ci.yml:31: the pin caps what the gates can observe.
Impact
- No consumer can adopt a
pluginspublication for any identity newer than
sd64a09253f0720ffe02e2e5ccc255776. - Satellite repositories that seed their upstream from the sealed publication cannot move
their pin past that identity.e2e/mesh/fetch-upstream.shterminates with exit status 1
when the publication for the resolved identity is absent, and provides no option to
compile the upstream from source. MeshWeaver.Education#246 is one such consumer. notify-dependentsis skipped on every affected run, so the release wave does not reach
dependent repositories.
Suggested resolution
Either:
- Produce a module bundle for
MeshWeaver.Mapsin MeshWeaver.Plugins and add it to
module-artifactsinmain-cd.yml:2217, and to the corresponding input of that
repository's ownpublish-bake; or - Retain
MeshWeaver.Mapsin the platform image closure.
Option 1 is consistent with the direction of e7f88b566; option 2 reverses it.
Separate, unrelated failure in the same job
Between 2026-09-01T06:33Z and 07:54Z plugins-bake also failed on commits that predate
e7f88b566 (runs 33478101112, 33478995085, 33482171187), with Store/Installer reporting
compile=Ok render=ok tests=FAILED. That is a different defect and is not covered here.
Activity
rbuergi commentedon Sep 2, 2026
The predicted red, confirmed — and explicitly NOT a verdict on #3071.
CD run 33606528599 reached the seal at ~09:0x and failed exactly as forecast:
Ten occurrences across the affected galleries, then
exit 1.🚨 Read the built commit, not the run's head. That run built
1b044e5, which predates #3071 (19035c1ea, merged 08:31:56). Its bake therefore ran the OLD lane — compiling against the tester image's/app, which has noMeshWeaver.Maps— so this failure is the bug reproducing, not the fix failing. A run'shead_shais the trigger ref and is never a claim about what it built; conflating the two is what cost #3022 a reopen earlier today.The acceptance is still outstanding. It is the first CD run that publishes a commit at or after
19035c1ea, where #3071 makes the bake and its gate compile against the portal image's/app(the reference set) with the tester supplying only the CLI.Two attempts have not produced it yet, both for reasons unrelated to the fix:
absent/none (commit is 5 min old), so the gate correctly declined to publish a commit CI had not yet vouched for. It emitted the annotation "main 19035c1 does NOT have a complete image set" and still reported green. That is main-cd's reconcile can only ship HEAD, so it starves exactly when the repo is busy #3077.main's required check has since completed, and no PRs are queued behind it, so the next push-path or reconcile run should publish and produce the verdict.
rbuergi commentedon Sep 2, 2026
Fixed — the acceptance run sealed green. #3071's lane works.
CD run 33610520524, which built
17ee6d9f(after #3071's19035c1ea), completedsuccesswith the whole chain green:The decisive steps inside the seal are the ones #3071 introduced, and the one that used to fail:
And it genuinely published rather than no-opping:
Nothing to bake (this content is already sealed for this identity)was skipped, so this was a real bake, not a re-assertion of an existing seal.Why it works
MeshWeaver.Mapsis a MeshWeaver.Plugins project referenced byMemex.Portal.Gui, so it exists in the portal image and nowhere else. The old lane compiled the content inside the tester image, whose/appnever carried it — henceCS0234on the galleries. #3071 composes the gate host from the portal's/app(the reference set) with the tester supplying only the CLI, so the assembly is present at compile time.One thing this does NOT mean
The seal proves the bake now compiles against the image that carries Maps. It does not mean Maps is riding as a module.
platform-shipped.txtstill listsMeshWeaver.Maps, while core dropped the projects in #2941 — the halfway state that file's own header forbids ("Step 3 must land with step 2, not after it"). That remains MeshWeaver.Plugins#1061 step 3, and the 409 hazard its body describes is still live for whoever takes it.Also worth noting for the next reader: the earlier red on run 33606528599 was not a verdict on #3071 — that run built
1b044e5, which predates it, and therefore ran the old lane. A CD run'shead_shais the trigger ref, never a claim about what it built.