Files
mesh-sdk/merge-check.sh
T
jochen a5a040c904
mesh/merge-gate pass: builds mesh-sdk, sent nowhere; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; it…
mesh/delivery delivered
go/cli: an outcome not known is not a refusal; the Go binding is checked in the Go toolchain
Review of hq ADR 0272: a line whose answer did not come in time may have
run, and saying "nothing ran" there is a lie. Answer.Unknown and NotKnown
say it may have run and name the call to look at.

The SDK's repo-check ran in the TypeScript toolchain only and said
"NOT TESTED HERE: go/". go/merge-check.sh now runs the Go binding in the Go
toolchain, declared by the root check (mesh-check-also), as the lab does.

Released as go/v0.1.9 (go/v0.1.8 is mesh-sdk #12's).
2026-10-09 12:37:48 +02:00

28 lines
1.4 KiB
Bash

#!/bin/sh
# mesh-check-toolchain: typescript
# mesh-check-also: go go/merge-check.sh
#
# The SDK's own check (novox/hq ADR 0237 as amended): the second layer of a pull request's merge check,
# `mesh/repo-check`, run by the build seat in the mesh's TypeScript toolchain — and by hand.
#
# The gate is the build seat's first layer (`mesh/merge-gate`), run because the mesh's module graph builds
# mesh-sdk from here — and every module whose build packages it. This is the SDK's own: the TypeScript
# spine every module imports, type-checked and its suite run, its dependencies installed from the lock
# file alone (public packages: the SDK depends on nothing of the mesh's).
#
# **Said, never passed silently**: the Python, Rust and C bindings are not tested in any toolchain. The Go
# binding runs in the Go toolchain, from go/merge-check.sh, declared on the second line (novox/hq ADR 0272); here
# it runs only when a Go compiler is present (a person's run).
set -eu
npm ci --no-audit --no-fund --loglevel=error
node node_modules/typescript/bin/tsc --noEmit
npm test
if command -v go >/dev/null 2>&1; then
(cd go && test -z "$(gofmt -l .)" && go vet ./... && go test -count=1 ./...)
else
echo "NOT TESTED HERE: go/ (the Go binding) — the Go toolchain runs it from go/merge-check.sh"
fi
echo "NOT TESTED HERE: python/, rust/, c/ — no toolchain of theirs runs a merge check"