Commit Graph
2331 Commits
Author SHA1 Message Date
jschoubben 14b7158fc0 Run gofmt and go vet before the Go unit level's tests and give their time in its result, so a lint failure ends the level at once and the check's line can say what it cost (issue 1887 D7-go, review round 2 item 5; ADR 0529 §1) 2026-10-23 16:44:22 +02:00
jschoubben 0066b702f4 Merge remote-tracking branch 'origin/main' into feat/r4g 2026-10-23 16:30:55 +02:00
jschoubben 281909e83d Keep nats on main's mesh-sdk pin: only its test subjects change in R4g, so the bus does not move (R4g) 2026-10-23 16:27:06 +02:00
jschoubben d0a3a8ebc6 Record the checksums of mesh-sdk feat/r4g 9205222a for the group's modules (R4g) 2026-10-23 16:26:11 +02:00
jschoubben 2246ccc492 Pin mesh-sdk at feat/r4g's head 9205222a, the merge of lanes A, B, S8 and F1, so every module r4g touches builds against one SDK
go.sum gains its lines from go mod tidy once mesh-sdk feat/r4g is pushed.
2026-10-23 16:22:02 +02:00
jschoubben 93f4f67a8f Merge branch 'feat/r4g-asks' into feat/r4g 2026-10-23 16:20:28 +02:00
jschoubben 78499235b6 Merge branch 'feat/r4g-catalog' into feat/r4g 2026-10-23 16:20:28 +02:00
jschoubben ecd60fe074 Run gofmt and go vet with every build tag in each directory the Go unit level runs, so what the repositories' scripts checked is every repository's check (issue 1887 D7-go, ADR 0529 §1) 2026-10-23 16:16:37 +02:00
jschoubben dd74d4adee Restore the doc wording of the repositories program after dropping E1a (review round 1) 2026-10-23 16:10:19 +02:00
jschoubben fa39738981 Revert "Swap hq's repo-check-alone rule to mesh/check like every main: nothing writes repo-check once build-agent goes (issue 1296, E1a)"
This reverts commit e4ec060ac7.
2026-10-23 16:10:09 +02:00
jschoubben 612486be18 Remove the committed compiled test binary checks/words/words.test and ignore *.test (review round 1) 2026-10-23 16:10:00 +02:00
jschoubben 3c5ff051de Pin mesh-sdk at feat/r4g's head c3915ffb, the merge of lane B's layouts, so every r4g module builds against one SDK
go.sum gains its lines from go mod tidy once mesh-sdk feat/r4g is pushed.
2026-10-23 16:01:15 +02:00
jschoubben 17e9efa101 Merge branch 'feat/r4g-catalog' into feat/r4g 2026-10-23 15:59:59 +02:00
jschoubben 3111546ff1 Ask the Node build seat a check with its levels, as the SDK's check job now carries them (issue 1887 A3node) 2026-10-23 15:59:31 +02:00
jschoubben 2175b26c56 Merge pull request 'Move the gate's source.main for a merge heard only from the forge, so the checker judges on the trunk that is (issue 888)' (#461) from fix/888-forge-merge-moves-source into main
Reviewed-on: #461
2026-10-23 13:49:17 +00:00
jschoubben e21ccf1138 Merge pull request 'Checks under 5 minutes (mesh-build-go): siblings only in the digests that read them, selected dirs in a pool, a mirror and verify once, and a change judged by its own build module (issues 1896, 890, 1898; ADR 0535, 0536)' (#460) from feat/fastcheck into main
Reviewed-on: #460
2026-10-23 13:49:17 +00:00
jschoubben 08442b95cb Merge pull request 'Betterbird leaves the catalogue: the operator removed it from both desktops (issue 806)' (#462) from fix/806-betterbird-leaves-the-catalogue into main
Reviewed-on: #462
2026-10-23 13:49:16 +00:00
jschoubben c304d3fb97 Pull the image build seat's asks beside the tools, at most the node's capacity (issue 1887 A3image, ADR 0525 §2-§6) 2026-10-23 15:40:43 +02:00
jschoubben 8356d30e1b Pull the Node build seat's asks beside the tools, delivery first and at most the node's capacity (issue 1887 A3node, ADR 0525 §2-§6) 2026-10-23 15:39:30 +02:00
jschoubben 6e823d1f9b Serve the Go build seat's verbs from the SDK's one form (issue 1887 A3go) 2026-10-23 15:38:19 +02:00
jschoubben d0ba022d20 Stop hearing the retired build seats' events in gitea and the catalogue module, so no manifest consumes a seat nothing claims once node-build-agent goes (issue 1887 E2 with A9) 2026-10-23 15:37:17 +02:00
jschoubben 6bfdbc5758 Take the build agent and the toolchain images out of the catalogue's prose, and refuse the word where it comes back outside the one module still naming it (issue 1295, E6) 2026-10-23 15:34:11 +02:00
jschoubben c4fc565180 Read the trunk's copy only from MESH_CHECK_BESIDE/mesh-catalog: unset skips the comparison saying NOT COMPARED, set without the copy fails (issue 1293, E5a) 2026-10-23 15:34:11 +02:00
jschoubben db937546ae Pull the Go build seat's asks beside the tools, delivery first and at most the node's capacity, so no part chooses a node for a Go build or check (issue 1887 A3go, ADR 0525 §2-§6) 2026-10-23 15:33:24 +02:00
jschoubben 2c32728395 Delete merge-check.sh and merge-check-typescript.sh: every step they ran is a Go test or the build module's; a test refuses their return (issues 1295 and 1293, E5c) 2026-10-23 15:31:10 +02:00
jschoubben 20ea65f0ac Count the long-running resources without health in a Go test over the real catalogue, through mesh-sdk's catalogue package (issue 1295, E5b) 2026-10-23 15:31:10 +02:00
jschoubben df9e3bd7e2 Run each checks/<x> over the real tree as a Go test, the shrink-only lists against the trunk's copy; the words check within the unit bound (issue 1293, E5a) 2026-10-23 15:28:39 +02:00
jschoubben 643de08882 Make the delivery gate ask the controller nothing of checks: no Check or Queue on the port, no checked event, no lost-check sweep, only mesh/check and the checker's verdict (issue 1318, E4a and E4b) 2026-10-23 15:24:13 +02:00
jschoubben a252aae862 Make the build modules and the delivery parts core issue owners and drop build-agent (issue 1041, E3) 2026-10-23 15:12:21 +02:00
jschoubben 2038943c3e Write no merge-check.sh in a new repository's first commit and announce none: tests run by convention (issue 1296, E1b) 2026-10-23 15:11:37 +02:00
jschoubben e4ec060ac7 Swap hq's repo-check-alone rule to mesh/check like every main: nothing writes repo-check once build-agent goes (issue 1296, E1a) 2026-10-23 15:06:29 +02:00
jschoubben ae8ab366a8 Remove the betterbird module: the operator unassigned it from g14 and shanks (issue 806, ADR 0379)
mesh/delivery failed: its walk failed, carrying its own commit: a gate on a first machine (what it carried put back), a build, a machine
mesh/check failed: integration: nats-tools/cmd/mesh-nats-snapshot.TestTheDeclaredDumpRunsInTheBussImage: image_test.go:141: docker run -d --rm --name …
2026-10-23 15:00:36 +02:00
jschoubben e9ce56e838 Say in the test why the waits are 20 s: load, not a retry (issue 1404)
mesh/delivery delivered
mesh/delivery-group group feat/fastcheck delivered: every member is delivered
mesh/check checking e9ce56e83861 on e21ccf113842 | novox/mesh-catalog#460 in group feat/fastcheck
2026-10-23 14:58:14 +02:00
jschoubben ee176b76ea Wait 20 s, not 5 s, for each step of the gate's path over the bus: a loaded build node failed the ask wait twice (issue 1404)
mesh/delivery superseded: a newer head of the same pull request
mesh/check checking ee176b76ea3c on 89e15c7bcda6 | novox/mesh-catalog#460 in group feat/fastcheck
2026-10-23 14:56:04 +02:00
jschoubben cf071270a0 Skip the docker tests where the daemon is unreachable, not only where the binary is missing
mesh/delivery superseded: a newer head of the same pull request
mesh/check failed: integration: mesh-delivery-gate/cmd/mesh-delivery-gate.TestAPassingVerdictAsksTheApproveAndItsApproveMergesWithinSecondsOverARealBu…
The checker's integration level runs shut off, so docker is found but its daemon
is not, and TestTheDeclaredDumpRunsInTheBussImage failed the group check on g14
(issue 1823). MESH_REQUIRE_DOCKER=1 still fails.
2026-10-23 14:41:00 +02:00
jschoubben 8bc54a3e27 Merge remote-tracking branch 'origin/main' into fix/888-forge-merge-moves-source
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792763407391518822 (novox/mesh-catalog at 2175b26c into main,…
mesh/check failed: integration: nats-tools/cmd/mesh-nats-snapshot.TestTheDeclaredDumpRunsInTheBussImage: image_test.go:141: docker run -d --rm --name …
2026-10-23 14:17:34 +02:00
jschoubben 29f4a366c2 Pin mesh-build-go to mesh-sdk 2248b985, the group's final SDK head with the 0.1.16 version (issues 890, 1899)
mesh/delivery superseded: a newer head of the same pull request
mesh/delivery-group group feat/fastcheck rejected: composed together: the checker's verdict at the members' heads (a5ea6d8de38e): integration: nats-tools/cmd/m…
mesh/check failed: integration: nats-tools/cmd/mesh-nats-snapshot.TestTheDeclaredDumpRunsInTheBussImage: image_test.go:141: docker run -d --rm --name …
2026-10-23 14:16:40 +02:00
jschoubben 7ec760bca2 Compile the workspace's own mesh-build-go and run digest and test as it under runner workspace, so a change to this module is judged by its candidate (issue 1898 K1, K2)
The checker asks runner workspace when a merge changes modules/mesh-build-go; the step's
shut-off process now takes a step spec (digest, unit, integration) and every answer says
judged_by. ADR 0535 §1, §3, §5.
2026-10-23 14:15:22 +02:00
jschoubben 22f7a78503 Dissociate a workspace from the mirror after the fetch, so a shut-off step finds every object in the tree (issue 890 C2 follow-up) 2026-10-23 14:09:34 +02:00
jschoubben 3ff6a8b502 Download the go.mod directories side by side and verify a go.mod and go.sum pair once, so a fetch spends no minutes in serial go mod steps (issue 890, ADR 0536 s2) 2026-10-23 14:08:20 +02:00
jschoubben 24cbc8961e Fetch a repository and its siblings through a bare mirror in the cache, updated under a lock, so a check transfers only new objects (issue 890, ADR 0536 s2) 2026-10-23 14:06:42 +02:00
jschoubben 547f4ee27d Compile and run only the go.mod directories a selection lies in, and run them side by side up to a bound (issue 890, ADR 0536 s3) 2026-10-23 14:04:43 +02:00
jschoubben 47dbf87e33 Fold the siblings into a package digest only when its tests reach MESH_CHECK_BESIDE, so a sibling move keeps unrelated verdicts (issue 1896) 2026-10-23 14:02:59 +02:00
jschoubben 15378cfba7 Merge pull request 'The build modules refuse every step and report unhealthy under a 20 GiB free-space floor, release workspaces, and sweep after 2 h (issues 1839 and 1894, ADR 0532)' (#458) from fix/1839-build-floor into main
Reviewed-on: #458
2026-10-23 11:29:04 +00:00
jschoubben 539a31103b mesh-build-image: let the module's own guard decide whether the real-buildah tests run, so a check sandbox where rootless buildah cannot unshare skips them loudly instead of failing every catalogue check (issue 1894)
mesh/delivery delivered
mesh/delivery-group group fix/1839-build-floor delivered: every member is delivered
mesh/check failed: g14: the check ran past its bound of 30m0s, stuck at: test the integration level of novox/mesh-catalog#458 on g14 | 539a31103b53 on…
2026-10-23 12:38:09 +02:00
jschoubben dfcdf234c5 Never move source.main back for a forge-heard merge, by dating the head it holds (issue 888, review round 1)
A merge the gate handed is known by the bridge's word before the forge's, and finish wrote it already; an older forge-only
merge heard in between overwrote it, since only the forge's word was dated and the write never compared with the head held.
A merge is now dated by either word, and the write leaves a head that is a later merge, or one the gate cannot date while
the merge is older than the records it keeps (a pruned newer merge).
2026-10-23 12:36:58 +02:00
jschoubben 5bc9578634 Move source.main for a merge heard only from the forge, so the checker judges on the trunk that is (issue 888)
The checker reads the trunk only from the gate's source.main, and the gate moved it only in finish, for a merge it handed to
the forge bridge on an Approve. A pull request merged at the forge directly moved every other delivery's trunk (trunkMoved)
and left source.main behind, so the checker kept judging candidates on the trunk before it (catalogue 89e15c7b after
6c0024e4, 2026-10-23).

settleForgeMerges now writes such a merge into source.main by compare-and-set, never a merge replayed as history or older
than one of its repository already heard; an approved delivery merged at the forge before the gate handed it is moved by
finish with its group, once.
2026-10-23 12:23:40 +02:00
jschoubben 3ca48ff230 Refuse build steps under a free-space floor and release workspaces, so the build modules stop filling a build node's disk (issue 1839)
mesh/delivery-group group fix/1839-build-floor checking: 1 of 2 member(s) ready
mesh/delivery superseded: a newer head of the same pull request
mesh/check failed: novox: the check ran past its bound of 30m0s, stuck at: test the unit level of novox/mesh-catalog#458 on novox | 3ca48ff23005 on 89…
mesh-build-go, mesh-build-node and mesh-build-image refuse every fetch, test
and build, and say unhealthy, while their work or cache filesystem has less
than 20 GiB free (build-agent's floor), so the builder chooses another node
instead of filling this one. Each serves build_<x>_release, removing a
workspace once its caller's last step answered; a failed fetch removes its
own; a workspace never released goes two hours after its last use (ADR 0509)
in place of a day, never while a step holds it. Pins mesh-sdk's
fix/1839-build-floor (buildstep.Floor, buildstep.Workspaces).
2026-10-23 12:17:58 +02:00
jschoubben 6c0024e43b Merge pull request 'Make the catalogue's tests pass in the build sandbox, and give the integration level the installed Node toolchain read-only (issue 1891, ADR 0533)' (#459) from fix/logrotate-base-parses into main
Reviewed-on: #459
2026-10-23 09:48:22 +00:00
jschoubben a2e5a20f52 mesh-build-node: write the install's registry credential in the account's home, never beneath the opened cache, and refuse to open a toolchain holding one (issue 1891 review, ADR 0533 §2)
mesh/delivery failed: its walk failed, carrying its own commit: a gate on a first machine (what it carried put back), a build, a machine
mesh/check failed: integration: meshbuildnode/cmd/mesh-build-node.TestAFixtureBundleBuiltTwiceHasOneDigest: build_integration_test.go:71: no toolchain…
2026-10-23 11:45:20 +02:00