jschoubben
8b2e8895c2
Prove on a real bus that every done key names its references, a refused push is built again, and a pinned upstream is copied (issue 1587, B8, ADR 0498 checks)
2026-10-22 18:03:39 +02:00
jschoubben
7651e47cc6
Write a module with no artifact a done key with no artifact, so the controller has a done key to register it from (issue 1613, ADR 0478 §1, ADR 0501 §1)
...
Moves the mesh-sdk pin to feat/r4e-sdk 9cb4d59, which accepts such a key and names delivery.WaitsFor; the builder's
package wait now uses that shared prefix (B7).
2026-10-22 18:03:02 +02:00
jschoubben
957afa6926
Ask the fetch with mesh-sdk's FetchRequest, naming a module's directory and the paths its kept inputs hold, so a module naming its paths is built from those alone (issue 1758, ADR 0499 §4; the lead's fetch interface)
2026-10-22 18:02:08 +02:00
jschoubben
2e567b9b30
Let a key whose lock names an unpublished package version wait queued, naming it, and build it once the builder's own done key publishes it (issue 1587, B7, ADR 0500 §6)
...
The prefix 'waits for: ' is kept in the builder until mesh-sdk's delivery.WaitsFor lands on feat/r4e-sdk.
2026-10-22 18:01:33 +02:00
jschoubben
851811a318
Build a candidate's done package key again once the trunk names it, so the package is published from the trunk (issue 1587, B6, ADR 0498 §6)
2026-10-22 18:00:19 +02:00
jschoubben
2399a4f4cc
Build a TypeScript package with the Node build module, published only for a trunk fingerprint; a version taken fails the key until the fingerprint changes (issue 1587, B5, ADR 0498 §5, ADR 0500 §4)
2026-10-22 17:59:43 +02:00
jschoubben
081f32d6c9
Copy a pinned upstream image with mesh-build-image's copy step, with no fetch, so its key names the registry's reference (issue 1587, B4, ADR 0498 §4)
2026-10-22 17:59:19 +02:00
jschoubben
c26f909152
Send a pinned upstream image to mesh-build-image's copy and fail an unpinned one 'not pinned:' until its fingerprint changes; refusals use mesh-sdk's RefusedKind (issue 1587, B3, ADR 0498 §4)
2026-10-22 17:58:33 +02:00
jschoubben
9871ed2d09
Build a key done before R4e again once, so every bundle and archive the controller delivers names its stored reference (issue 1587, B2, ADR 0498 §8)
2026-10-22 17:57:35 +02:00
jschoubben
f26ff8f8bb
Write a key done only when every bundle and archive names where it is stored, a candidate's too, so a merge builds nothing its check built (issue 1587, B1, ADR 0498 §1-§3)
...
Pins mesh-sdk feat/r4e-sdk a90f523 (R4e's group member). A trunk key's builds are asked to publish; a build answering
no reference fails the key 'not stored:', and a step's own 'not stored:', 'not pinned:', 'version taken:' or
'refused kind:' opens the key's error.
2026-10-22 17:57:01 +02:00
jschoubben
db62e82e26
Write a failed publish of a merged image to the key; read mesh-build-image's captured steps (review r2)
mesh/repo-check head db62e82e26d7 merged into trunk 47ab8cd3cf45 beside mesh-catalog#435@7c5d11e5 — pass: its merge-check.sh passed
mesh/merge-gate head db62e82e26d7 merged into trunk 47ab8cd3cf45 — pass: group feat/r4c9-image-build composed: every machine composes with the change as it…
mesh/delivery-group group feat/r4c9-image-build delivered: every member is delivered
mesh/check pass db62e82e26d7 on 2b635e2138ae | unit 366 run 0 kept | int 405 run 0 kept | clone 9.2s unit 191ms int 6.7s+44s | composition not yet run
2026-10-22 10:37:21 +02:00
jschoubben
12f61998c5
Publish a merged candidate's image once; a retaken key builds only what is missing (review r1)
2026-10-22 10:33:52 +02:00
jschoubben
bbc690539b
Build an image on one node through mesh-build-image; only a trunk key publishes (issue 1705)
2026-10-22 10:19:26 +02:00
jschoubben
7214bf4368
Fail a candidate's build when its fetch answers files in conflict or no merge, so the trunk's build is not stored under the candidate's fingerprint (review D4)
2026-10-21 21:50:30 +02:00
jschoubben
284f21c4e3
Key the builder's candidate test as the indexer keys a group
2026-10-21 21:35:53 +02:00
jschoubben
66908d9bbc
The builder builds the fingerprints a candidate carries, once each, from the head merged onto the trunk (issue 1684)
2026-10-21 21:28:38 +02:00
jschoubben
a2a5167d72
Write a preview of the conflicts for a head that does not merge, and give the candidate's modules the reason; pin mesh-sdk to the R4c-5a head (issue 1445)
2026-10-21 21:25:45 +02:00
jschoubben
e554094b74
The builder uses mesh-sdk's buildrun package for the caller, the steps, the places, the presence, toolchain and have sets and the choice of nodes, so the checker shares them (issue 1671)
2026-10-21 21:25:00 +02:00
jschoubben
4242fb5b0b
The indexer gives a candidate's touched module the fingerprint its merge preview gives it, and wakes on the checker's preview.written without a restart; pin mesh-sdk to the R4c-5a head (issues 1445, 1681)
2026-10-21 21:17:09 +02:00
jschoubben
46702d1af3
Keep the builder off a node whose capacity setting is 0, and start the setting at shanks=3,ace=2,g14=0,novox=0 (issue 1661)
mesh/merge-gate head 46702d1af311 merged into trunk 2000c841bf70 — pass: builds mesh-delivery-builder, sent nowhere; no bus step; every machine composes wi…
mesh/repo-check head 46702d1af311 merged into trunk 2000c841bf70 — pass: its merge-check.sh passed
2026-10-21 13:46:14 +02:00
jschoubben
dcf62b0413
Make the builder's capacity a module setting, hold back a failed second-node build until the nodes change, and close at start a key left building for a fingerprint the module no longer has (issues 1661, 1664, 1660)
2026-10-21 13:34:39 +02:00
jschoubben
bfc64ac65e
Build an archive with no toolchain, mark digests that differ and a one-node key so each is handled, reserve a place when a node is chosen, choose only nodes whose build module is healthy, and take over any key found building (issue 1607, review round 4)
mesh/merge-gate head bfc64ac65ea1 merged into trunk 26de6bc62558 — pass: builds mesh-delivery-indexer, new: modules/mesh-delivery-builder → novox; no bus s…
mesh/repo-check head bfc64ac65ea1 merged into trunk 26de6bc62558 — pass: its merge-check.sh passed
2026-10-21 13:15:28 +02:00
jschoubben
ebac167cd6
Move the indexer and builder to mesh-sdk main with the toolchains and root path (issue 1615)
2026-10-21 12:45:10 +02:00
jschoubben
27e4c3891f
Run at most a node's build capacity of build steps on it at once, and hold a step back for a place with no timer (issue 1607, round 3)
2026-10-21 12:41:42 +02:00
jschoubben
f555a05cfb
Build a key only with the toolchain its fingerprint names, accept '.' as a root module's path, and choose only online nodes (issues 1615, 1607 review)
2026-10-21 11:36:32 +02:00
jschoubben
0b0cfb6e37
Test the builder whole over the real bus with fake build modules, and look again at a value that arrives while its key is built (issue 1607, AC6, AC7)
2026-10-21 11:25:13 +02:00
jschoubben
46c9f33d64
Build each new-form fingerprint through the build modules on two nodes and write its key done or failed (issue 1607, AC7, AC8)
2026-10-21 11:23:39 +02:00
jschoubben
71bb5a5fb3
Watch the build modules' toolchains and steps and keep the toolchains by node, with no timer (issue 1607, AC6)
2026-10-21 11:21:46 +02:00
jschoubben
3298ad58d3
Run a build module's long step: call it on its node, read the result at its steps key, bound the wait (issue 1607, AC5)
2026-10-21 11:21:14 +02:00
jschoubben
74d11f95a2
Choose build nodes by the agreed toolchain and fewest running steps, and agree the two nodes' digests (issue 1607, AC4)
2026-10-21 11:20:31 +02:00
jschoubben
1e6d00b4c7
Claim a build key by create and compare-and-set, never twice, retry a failed key except a refused kind (issue 1607, AC3)
2026-10-21 11:20:09 +02:00
jschoubben
87e550681f
Plan a manifest's artifacts for the build modules and refuse image, upstream and package by kind (issue 1607, AC2)
2026-10-21 11:19:38 +02:00
jschoubben
c3804b012f
Add the builder part: its manifest, its credential and its bus connection (issue 1607, AC1)
2026-10-21 11:18:30 +02:00