Write down what a run has to be pointed at

Reconstructed from the source twice now, which is 04-ISSUES/005 in its
own README: a test whose artifact was not pointed at skips rather than
fails, so an unset variable is a green run that proved nothing. The
first attempt today reported "skipped 24" and left a receipt claiming
zero of everything — working exactly as designed, and indistinguishable
at a glance from a suite that had nothing to do.

Also records the two things that cost time either side of it: `check`
says which variables are missing before a long run rather than skipping
quietly, and a heredoc into `newgrp` runs the suite as a child of a
shell that immediately exits, so it needs `setsid nohup … &` or it dies
with the shell that launched it.
This commit is contained in:
2026-09-01 02:44:32 +02:00
parent a516ee847b
commit 0ffb24ff5d
2 changed files with 109 additions and 0 deletions
+34
View File
@@ -131,6 +131,40 @@ Placing needs a built host binary — set `MESH_LAB_HOST_BINARY` to one. It is a
rather than a search on purpose: the declaration design leaves *where `place:` gets its
artifacts from* open, and guessing would harden into the answer by accident.
## Pointing a run at the repositories
**Every variable is an explicit path, and none of them has a default.** A test whose artifact was
not pointed at *skips* — it does not fail — so an unset variable is a green run that proved
nothing. That is `novox/hq` 04-ISSUES/005 exactly, and it has now been rediscovered twice, so it
is written down here rather than reconstructed a third time.
```sh
export MESH_LAB_HOST_BINARY=<mesh-host>/mesh-host
export MESH_LAB_BUNDLE=<mesh-host>/examples/substrate-first-node.lock
export MESH_LAB_MODULES=<mesh-control>/examples/modules
export MESH_LAB_BUILDER=<mesh-control>/mesh-builder
# Built with `go build -o <path> ./examples/<name>` in mesh-control.
export MESH_LAB_PROVISIONER=<somewhere>/postgres-provisioner
export MESH_LAB_OBJECTSTORE_PROVISIONER=<somewhere>/objectstore-provisioner
export MESH_LAB_ROUTE_PROXY=<somewhere>/route-proxy
```
`MESH_LAB_HOST_BINARY` and `MESH_LAB_MODULES` do double duty: the repository each sits in is what
`suite` rebuilds and what the receipt claims. Point the run at a repository and it is built and
claimed; leave it out and it is neither.
Check before running a long suite — it says which of these are missing rather than skipping
quietly:
```sh
node --experimental-strip-types src/cli.ts check
```
If it says the daemon is not reachable, the group grant postdates the shell. `newgrp` fixes it,
but a heredoc into `newgrp` runs the suite as a child of a shell that then exits — start it with
`setsid nohup … &` inside the heredoc, or the run dies with the shell that launched it.
## Measured on a workstation
| | one machine | two machines | two machines + a router |