Files
mesh-catalog/modules/dev-tools/README.md
T

1.5 KiB

dev-tools

The tools a machine needs to develop the mesh's own code (novox/hq issue 626). Every node is a development machine: an agent working on a change builds it and runs its tests there, with these tools, before it opens a pull request. The lab is the QA step after that: it tests the work in a sandbox, through its seat at the mesh scope, and is not where development happens.

Assign it to every node, with the go and nodejs modules: it requires their provisions go-toolchain and node-toolchain (novox/hq ADR 0477 clause 4).

Owns

what package class (ADR 0182)
the Go toolchain, for go build and go test in every Go module the go module's package go package
a C compiler, for go test -race and cgo gcc package
make make package
Node.js and npm, for the TypeScript modules' npm ci and npm test the nodejs module's packages nodejs, npm package
Python, for the scripts some checks run python package
git and jq git, jq package

All are in the distribution's official repositories, so the node-engine's package manager installs them on any node. The versions are the distribution's: the toolchain images that run mesh/repo-check stay the judge of a pull request, and a local run is the developer's early answer, not the verdict.

Nothing else is placed: no file, no service, no environment. A module's own dependencies come from its lock file (go.mod, package-lock.json), as in the toolchain images.