fix(boot-test): run every boot test with exactly what a new server gets
CI's boot test gave every blank password-like setting a throwaway value. A real deploy only fills x-generate fields, so a template whose server won't start without one passed CI and failed for the first owner who deployed it. boottest-payload now fills only x-generate fields, for CI and the builder alike. The old behaviour is kept as -fill-blank-passwords, used only by the builder's second boot to tell whether an empty setting is why a draft fails. Messages and AUTHORING.md no longer say boot tests fill passwords; a server that needs a join password gets x-generate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
98ba043bec
commit
fe790ad223
6 files changed
+35
-32
No files matched your search
@@ -276,7 +276,7 @@ func draftCompleteness(game, test map[string]any) []string {
|
||||
// Secrets only exist as CI settings a person adds; a draft with one can't be boot-tested anywhere
|
||||
if secrets, _ := test["secrets"].(map[string]any); len(secrets) > 0 {
|
||||
problems = append(problems, "test.yaml has 'secrets' ("+strings.Join(sortedKeys(secrets), ", ")+"), which no boot test of a "+
|
||||
"new game has: remove them. Password settings get a throwaway value in boot tests automatically")
|
||||
"new game has: remove them. A setting the server needs a password in gets \"x-generate\" instead")
|
||||
}
|
||||
if _, ok := game["readyPattern"]; !ok {
|
||||
if _, ok := test["settleSec"]; !ok {
|
||||
|
||||
Reference in new issue
Block a user