Delete merge-check.sh; the type check runs before npm test, where the Node level runs it (issue 1295, S5 root; ADR 0529)
mesh/repo-check head 4653b17e18a7 merged into trunk 72ea2988be50 — fail: mesh/repo-check is required here and this head defines no merge-check.sh — a perso…
mesh/delivery delivered
mesh/delivery-group group feat/r4g failed: a member failed
mesh/check pass 4653b17e18a7 on 3a9deb8cdbd9 | unit 5 run, 39 kept, 1 skipped | integration 12 run, 39 kept, 7 skipped | composition passed
mesh/repo-check head 4653b17e18a7 merged into trunk 72ea2988be50 — fail: mesh/repo-check is required here and this head defines no merge-check.sh — a perso…
mesh/delivery delivered
mesh/delivery-group group feat/r4g failed: a member failed
mesh/check pass 4653b17e18a7 on 3a9deb8cdbd9 | unit 5 run, 39 kept, 1 skipped | integration 12 run, 39 kept, 7 skipped | composition passed
This commit is contained in:
@@ -1,37 +0,0 @@
|
||||
#!/bin/sh
|
||||
# mesh-check-toolchain: typescript
|
||||
# mesh-check-also: go replays/merge-check.sh
|
||||
# mesh-check-also: go asks/merge-check.sh
|
||||
#
|
||||
# The lab'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 — and by hand.
|
||||
#
|
||||
# The mesh builds no module from the lab, so no gate runs for its pull requests (`mesh/merge-gate` says the
|
||||
# change touches no module of the graph); this is all that is checked before a change to it merges. The lab
|
||||
# is in two languages, and each part runs in its own toolchain's container (novox/hq issue 302):
|
||||
#
|
||||
# - this script, in the TypeScript toolchain: installed from the lock file, type-checked, sources and
|
||||
# tests, and the unit suite;
|
||||
# - replays/merge-check.sh, in the Go toolchain, declared above: the replays register and its prover
|
||||
# formatted, vetted and compiled, and the register's own tests;
|
||||
# - asks/merge-check.sh, in the Go toolchain, declared above: the proof of the operator's answers, run
|
||||
# against the controller, runtime and catalogue cloned beside the lab (novox/hq ADR 0259).
|
||||
#
|
||||
# **Said, never passed silently**: the integration suite raises a lab on a workstation, and the replays
|
||||
# raise containers through the container runtime — neither is given to code nobody has approved. The
|
||||
# replays run from the lab's main, reviewed, in every gate of a core change; a change to them is proven by
|
||||
# `go run ./replays/cmd/prove` by hand before it merges.
|
||||
set -eu
|
||||
|
||||
npm ci --no-audit --no-fund --loglevel=error
|
||||
npm run typecheck
|
||||
npm test
|
||||
|
||||
# By hand, with Go at hand, the Go part runs here too; on the build seat it runs in the Go toolchain.
|
||||
if command -v go >/dev/null 2>&1; then
|
||||
sh replays/merge-check.sh
|
||||
sh asks/merge-check.sh
|
||||
else
|
||||
echo "replays/ and asks/ (Go) are checked by their merge-check.sh, which the build seat runs in the Go toolchain"
|
||||
fi
|
||||
echo "NOT RUN HERE: the integration suite and the replays — they need a lab and the container runtime"
|
||||
@@ -8,6 +8,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
|
||||
"pretest": "npm run typecheck",
|
||||
"test": "node --test --experimental-strip-types 'test/*.test.ts'",
|
||||
"test:integration": "node --experimental-strip-types src/cli.ts suite",
|
||||
"check": "npm run typecheck && npm test && npm run test:integration",
|
||||
|
||||
Reference in New Issue
Block a user