crucible build parity #14

Merged
archvillainette merged 10 commits from crucible-build-parity into main 2026-06-21 13:17:58 +00:00
3 changed files with 3 additions and 14 deletions
Showing only changes of commit 91bb9a6613 - Show all commits
+1 -1
View File
@@ -97,5 +97,5 @@ publish event is a `v*` tag (see `sow-docs/runbooks/ci-trigger-standard.md`).
## Consumers ## Consumers
How the artifact repos resolve a Crucible binary (and the `NWN_ROOT` rule) is How the artifact repos resolve a Crucible binary is
documented in [`docs/consumer-contract.md`](docs/consumer-contract.md). documented in [`docs/consumer-contract.md`](docs/consumer-contract.md).
-11
View File
@@ -36,17 +36,6 @@ container:
~~No host install, no `$HOME` layout, no developer machine assumptions.~~ ~~No host install, no `$HOME` layout, no developer machine assumptions.~~
## `NWN_ROOT` rule
Crucible **never guesses `NWN_ROOT` from `$HOME`** (this was a deploy-notes
pain point). The NWN install/data root is passed explicitly:
- env `NWN_ROOT=/path/to/nwn`, or
- flag `--nwn-root /path/to/nwn`.
A builder that needs `NWN_ROOT` and receives neither must fail closed with a
clear message, not fall back to a home-directory default.
## Determinism ## Determinism
Same inputs → identical output bytes. Consumers may checksum artifacts across Same inputs → identical output bytes. Consumers may checksum artifacts across
+2 -2
View File
@@ -249,8 +249,8 @@ func usage(w io.Writer) {
fmt.Fprintf(w, " config [args] inspect/validate effective configuration\n") fmt.Fprintf(w, " config [args] inspect/validate effective configuration\n")
fmt.Fprintf(w, " changelog [args] generate the release changelog\n") fmt.Fprintf(w, " changelog [args] generate the release changelog\n")
fmt.Fprintf(w, "\nBuilders read all inputs from the project tree (nwn-tool.yaml + data/); no\n") fmt.Fprintf(w, "\nBuilders read all inputs from the project tree (nwn-tool.yaml + data/); no\n")
fmt.Fprintf(w, "NWN install is required. If a builder ever needs an NWN root, it must be\n") fmt.Fprintf(w, "NWN install is required. A builder that one day needs NWN game data\n")
fmt.Fprintf(w, "passed explicitly via NWN_ROOT; crucible never guesses from $HOME. See\n") fmt.Fprintf(w, "auto-detects the install; it never requires a hand-set path. See\n")
fmt.Fprintf(w, "docs/consumer-contract.md.\n") fmt.Fprintf(w, "docs/consumer-contract.md.\n")
} }