d6b9cef9d0
Prove a check ask's digest is the digest tool's answer in the call, so the checker keys kept verdicts by it (issue 1917)
jschoubben2026-10-23 17:19:38 +02:00
b85d65b53f
Merge remote-tracking branch 'origin/main' into feat/r4g
jschoubben2026-10-23 17:18:51 +02:00
3bec357968
Merge pull request 'The forge module changes no repository's branch protection unless keep-main-rules is true (issue 1903)' (#463) from fix/gitea-keep-main-rules into main
jschoubben2026-10-23 15:14:21 +00:00
b60077850d
Pin mesh-sdk at feat/r4g's head a2c813a6, its test fixture fix, with go.sum tidied
jschoubben2026-10-23 17:06:11 +02:00
a00962871c
Give checks/trunk a full module path, so go mod verify in the checks that use it treats it as the local module it is (R4g group check)
jschoubben2026-10-23 17:04:08 +02:00
90ff4c485a
Pin checks/health to the mesh-sdk that knows the seat node-build-go, so its real-tree test reads every manifest
jschoubben2026-10-23 16:58:14 +02:00
f08abb90d4
Pin the build modules to the mesh-sdk head whose puller says a poisoned ask and bounds a step from its start (issues 1907, 1887 review round 2)
jschoubben2026-10-23 16:52:19 +02:00
a493c90c0d
Require node-tools in the three build modules, so the delivery plan puts the tool runner they pull asks through before them on every node (issue 1911)
jschoubben2026-10-23 16:50:03 +02:00
a1febd3ad8
Say in gitea's comments that no controller status is written since R4g, so the merge waits on mesh/check alone (issue 1887, review round 2 item 6)
jschoubben2026-10-23 16:47:57 +02:00
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)
jschoubben2026-10-23 16:44:22 +02:00
0066b702f4
Merge remote-tracking branch 'origin/main' into feat/r4g
jschoubben2026-10-23 16:30:55 +02:00
281909e83d
Keep nats on main's mesh-sdk pin: only its test subjects change in R4g, so the bus does not move (R4g)
jschoubben2026-10-23 16:27:06 +02:00
d0a3a8ebc6
Record the checksums of mesh-sdk feat/r4g 9205222a for the group's modules (R4g)
jschoubben2026-10-23 16:26:11 +02:00
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
jschoubben2026-10-23 16:22:02 +02:00
93f4f67a8f
Merge branch 'feat/r4g-asks' into feat/r4g
jschoubben2026-10-23 16:20:28 +02:00
78499235b6
Merge branch 'feat/r4g-catalog' into feat/r4g
jschoubben2026-10-23 16:20:28 +02:00
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)
jschoubben2026-10-23 16:16:37 +02:00
dd74d4adee
Restore the doc wording of the repositories program after dropping E1a (review round 1)
jschoubben2026-10-23 16:10:19 +02:00
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)"
jschoubben2026-10-23 16:10:09 +02:00
612486be18
Remove the committed compiled test binary checks/words/words.test and ignore *.test (review round 1)
jschoubben2026-10-23 16:10:00 +02:00
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
jschoubben2026-10-23 16:01:15 +02:00
17e9efa101
Merge branch 'feat/r4g-catalog' into feat/r4g
jschoubben2026-10-23 15:59:59 +02:00
3111546ff1
Ask the Node build seat a check with its levels, as the SDK's check job now carries them (issue 1887 A3node)
jschoubben2026-10-23 15:59:31 +02:00
68dfca1057
Gate the token mint's main-rule write by keep-main-rules too
jschoubben2026-10-23 15:57:44 +02:00
77f33d317f
Keep main's rules only when the setting keep-main-rules is true (default false)
jschoubben2026-10-23 15:53:30 +02:00
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
jschoubben2026-10-23 13:49:17 +00:00
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
jschoubben2026-10-23 13:49:17 +00:00
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
jschoubben2026-10-23 13:49:16 +00:00
c304d3fb97
Pull the image build seat's asks beside the tools, at most the node's capacity (issue 1887 A3image, ADR 0525 §2-§6)
jschoubben2026-10-23 15:40:43 +02:00
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)
jschoubben2026-10-23 15:39:30 +02:00
6e823d1f9b
Serve the Go build seat's verbs from the SDK's one form (issue 1887 A3go)
jschoubben2026-10-23 15:38:14 +02:00
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)
jschoubben2026-10-23 15:37:17 +02:00
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)
jschoubben2026-10-23 15:34:11 +02:00
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)
jschoubben2026-10-23 15:34:11 +02:00
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)
jschoubben2026-10-23 15:33:14 +02:00
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)
jschoubben2026-10-23 15:31:10 +02:00
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)
jschoubben2026-10-23 15:31:10 +02:00
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)
jschoubben2026-10-23 15:28:39 +02:00
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)
jschoubben2026-10-23 15:24:13 +02:00
a252aae862
Make the build modules and the delivery parts core issue owners and drop build-agent (issue 1041, E3)
jschoubben2026-10-23 15:12:21 +02:00
2038943c3e
Write no merge-check.sh in a new repository's first commit and announce none: tests run by convention (issue 1296, E1b)
jschoubben2026-10-23 15:11:37 +02:00
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)
jschoubben2026-10-23 15:06:29 +02:00
ae8ab366a8
Remove the betterbird module: the operator unassigned it from g14 and shanks (issue 806, ADR 0379)
jschoubben2026-10-23 15:00:36 +02:00
e9ce56e838
Say in the test why the waits are 20 s: load, not a retry (issue 1404)
jschoubben2026-10-23 14:58:14 +02:00
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)
jschoubben2026-10-23 14:56:04 +02:00
cf071270a0
Skip the docker tests where the daemon is unreachable, not only where the binary is missing
jschoubben2026-10-23 14:41:00 +02:00
8bc54a3e27
Merge remote-tracking branch 'origin/main' into fix/888-forge-merge-moves-source
jschoubben2026-10-23 14:17:34 +02:00
29f4a366c2
Pin mesh-build-go to mesh-sdk 2248b985, the group's final SDK head with the 0.1.16 version (issues 890, 1899)
jschoubben2026-10-23 14:16:40 +02:00
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)
jschoubben2026-10-23 14:15:22 +02:00
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)
jschoubben2026-10-23 14:09:34 +02:00
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)
jschoubben2026-10-23 14:08:20 +02:00
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)
jschoubben2026-10-23 14:06:42 +02:00
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)
jschoubben2026-10-23 14:04:43 +02:00
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)
jschoubben2026-10-23 14:02:59 +02:00
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
jschoubben2026-10-23 11:29:04 +00:00
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)
jschoubben2026-10-23 12:38:09 +02:00
dfcdf234c5
Never move source.main back for a forge-heard merge, by dating the head it holds (issue 888, review round 1)
jschoubben2026-10-23 12:36:58 +02:00
5bc9578634
Move source.main for a merge heard only from the forge, so the checker judges on the trunk that is (issue 888)
jschoubben2026-10-23 12:23:40 +02:00
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)
jschoubben2026-10-23 08:33:42 +02:00
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
jschoubben2026-10-23 09:48:22 +00:00
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)
jschoubben2026-10-23 11:45:20 +02:00
845479d7cd
mesh-build-node: prove the npm download cache beside the toolchains stays its owner's (ADR 0533 §2)
jschoubben2026-10-23 11:30:26 +02:00
2ebcb18097
realMachine: a change carrying a lock no release has installed runs with the toolchain installed last, and says so, so a lock change is not refused by its own check (issue 1891, ADR 0533 §3)
jschoubben2026-10-23 11:23:11 +02:00
00e54d46d7
Give the integration level the node's installed Node toolchains read-only, so the Node build module's tests build offline (issue 1891, ADR 0533)
jschoubben2026-10-23 11:22:05 +02:00
933370df7c
gitea, minio: compile the sources beside themselves in the test script, as the old check did (issue 1891)
jschoubben2026-10-23 10:22:41 +02:00
437c524b81
gitea, minio, mosquitto: tests run as the Node build module runs them, tsc -p . then npm test (issue 1891)
jschoubben2026-10-23 10:18:57 +02:00
dc96d7c2dd
gitea: take a rule's null contexts as the forge's type says, so the strict build the checker runs compiles (issue 1891)
jschoubben2026-10-23 10:00:09 +02:00
f9247342d1
pacman, ssh-client: tests read nothing of the machine, so the unit level passes shut off and on a desk (issue 1891)
jschoubben2026-10-23 09:38:40 +02:00
b1d875410a
logrotate: dry-run the base against logs of its own, so the shut-off unit level does not stat the machine's /var/log (issue 1891)
jschoubben2026-10-23 09:10:09 +02:00
96b201920f
Merge remote-tracking branch 'origin/main' into feat/mail-list
jochen2026-10-23 01:07:15 +02:00
89e15c7bcd
Merge pull request 'R4e (mesh-catalog): build modules push and narrow, the gate stops judging, gitea writes mesh/check from the checker's owed state, and the census fixes' (#457) from feat/r4e into main
mesh-tools2026-10-22 22:12:51 +00:00
a21da33d48
Merge pull request 'Make buildah's runtime directory before every buildah run, so mesh-build-image's health does not fail for want of it (issue 1884)' (#456) from fix/1884-runtime-dir into main
mesh-tools2026-10-22 21:48:47 +00:00
b53b0e7e2c
Make buildah's runtime directory before every buildah run, so a machine without it is not unhealthy forever (issue 1884)
jschoubben2026-10-22 23:39:51 +02:00
48dd41db91
Merge pull request 'Fill a module again when a node-engine returns after any failed fill, not only a missing socket (issue 1873)' (#455) from fix/1873-fill-path into main
mesh-tools2026-10-22 21:19:09 +00:00
16331cdfdc
Fill a module again when the node-engine's socket returns after any failed fill, not only one for want of the socket (issue 1873)
jschoubben2026-10-22 22:56:16 +02:00
ab3722d3b3
Test that a fill the node-engine failed is tried again when its socket returns (issue 1873)
jschoubben2026-10-22 22:53:39 +02:00
170fad2e93
Name no node in the last residuals: asus-zephyrus-g14's denylist, lab's and mosquitto's comments, mesh-issues's help texts, mesh-knowledge's decision fixture and ssh-client's forge-URL fixture (issue 1838)
feat/modules-name-no-node
jochen2026-10-22 22:36:34 +02:00
fab57411c5
Take novox/hq in any form and a declared hardware word as no finding in the particulars check (issue 1838)
jochen2026-10-22 22:31:05 +02:00
212c8e4f52
Drop the now-dead novox/hq strip in mounts's, nfs-server's, sensors's and zfs's manifest checks (issue 1838)
jochen2026-10-22 22:26:30 +02:00
7220cbc787
Merge branch 'feat/modules-name-no-node' into bulk-c
jochen2026-10-22 22:22:11 +02:00
4713d984ea
Name no node: trim node names from the per-module manifest denylists now that the catalogue-wide check covers them (1838/AC1)
jochen2026-10-22 22:19:12 +02:00
ceb7d920b6
Name no node: mailu's and mesh-mail's test domain becomes example.org (issue 1838)
jochen2026-10-22 22:19:05 +02:00
9d5ddcd050
Name no node: the forge owner in claude-code's, mesh-config's, mesh-issues's, messenger's and records's test data becomes acme (issue 1838)
jochen2026-10-22 22:18:58 +02:00
66c404fd39
Merge pull request 'Let a run read from a node's pacman log never hold back a new upgrade, so the mesh can upgrade nodes at all (issue 1841)' (#454) from fix/1841-stale-run into main
mesh-tools2026-10-22 20:14:07 +00:00
3ad9d42be9
Name the captured log's machine by its role, not its name (issue 1841)
jschoubben2026-10-22 22:05:27 +02:00
083515da1b
Merge pull request 'Give /var/lib/systemd and /var/lib/postgres back to their packages and keep the two modules' own files under /var/lib/mesh (issue 1873, delivery A)' (#453) from fix/1873-system-state-dirs into main
mesh-tools2026-10-22 20:04:28 +00:00
ac5d257a1c
Let no run read from pacman's log, nor a run whose transaction ended, hold an asked upgrade back; read one run of the addressed machine whole (issue 1841)
jschoubben2026-10-22 22:04:23 +02:00
007dd17910
Let a module declare its hardware model's word, and blank only the module path and the exact record citation (issue 1838)
jochen2026-10-22 22:00:05 +02:00
30e6435dea
Name no node in claude-code's fixtures (issue 1838)
jochen2026-10-22 21:55:50 +02:00
ba3635307c
Merge branch 'feat/modules-name-no-node' into bulk-c
jochen2026-10-22 21:48:45 +02:00
c88b75a822
Name no node in mesh-issues's fixtures (issue 1838)
jochen2026-10-22 21:48:39 +02:00
896bd88380
Write mesh/check from the checker's owed state, read by a watch (R2-1)
fix/r4e-r2
jschoubben2026-10-22 21:43:37 +02:00
bd5bf861f1
Merge feat/modules-name-no-node into bulk-b
jochen2026-10-22 21:44:50 +02:00
c55e705357
Name no node in postgres's, ssh-client's and mesh-mail-web's fixtures (issue 1838)
jochen2026-10-22 21:44:44 +02:00
d4e9f699d1
Merge feat/modules-name-no-node into bulk-a
jochen2026-10-22 21:44:29 +02:00
c09b7c0513
Name no node in dnsmasq's, mesh-mail-reader's and influxdb's fixtures (issue 1838)
jochen2026-10-22 21:44:22 +02:00
0a398579e2
Name no node in betterbird's fixtures (issue 1838)
jochen2026-10-22 21:44:21 +02:00