docs(runner): name the protoc coupling and fix a mechanism claim
CI / Shell-Lint (bash -n, source-check, Validierungs-Tests) (pull_request) Successful in 2s
CI / Shell-Lint (bash -n, source-check, Validierungs-Tests) (pull_request) Successful in 2s
Both from the cross-review, both fair. "Go setzt CGO_ENABLED=0" is right about the effect and wrong about the mechanism: Go does not set the variable, cgo simply stays off when no C compiler is found, and go env then reports 0. Reworded. And protoc on an instance-wide runner ties every repository to the distribution's version -- 3.21.x on Debian 12. Unlike make and gcc that is a code generator, so a distro upgrade changes generated code for all users at once. The comment says so now, and says where a project that needs its own version should pin it instead of raising it here for everybody.
This commit is contained in:
@@ -70,12 +70,20 @@ run_user() { runuser -u "$APP_USER" -- env -C "$RUNNER_DIR" HOME="$APP_HOME" "$@
|
||||
# Werkzeuge mitbringt — was hier nicht liegt, hat kein Job. Konkret gemessen an
|
||||
# l.kirchner/patchmgr (Go):
|
||||
# make "make: command not found" in jedem Gate-Job
|
||||
# gcc ohne C-Compiler setzt Go CGO_ENABLED=0, und
|
||||
# "go test -race" ist dann gar nicht baubar
|
||||
# gcc ohne gefundenen C-Compiler bleibt cgo aus (go env
|
||||
# meldet dann CGO_ENABLED=0), und "go test -race" ist
|
||||
# nicht baubar
|
||||
# protobuf-compiler protoc fuer die Codegenerierung
|
||||
# libprotobuf-dev liefert /usr/include/google/protobuf/*.proto; ohne die
|
||||
# Includes scheitert protoc trotz vorhandenem Binary
|
||||
#
|
||||
# ACHTUNG protoc: Das bindet jedes Repo der Instanz an die protoc-Fassung der
|
||||
# Distribution (Debian 12: 3.21.x). Anders als make/gcc ist protoc ein
|
||||
# Codegenerator — ein Distro-Upgrade aendert erzeugten Code fuer alle Nutzer
|
||||
# gleichzeitig. Wer eine eigene Fassung braucht, pinnt sie im Projekt
|
||||
# (Release-Tarball, buf, oder Docker — der Runner hat Docker) statt sie hier
|
||||
# zu heben.
|
||||
#
|
||||
# Bewusst NICHT installiert: sudo. Ein Workflow soll auf diesem Runner nichts
|
||||
# nachinstallieren koennen — was gebraucht wird, steht hier.
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user