Merge pull request 'Register the replay of issue 305 (hq ADR 0237)' (#62) from replays/305-a-recheck-left-the-old-verdict-standing into main
This commit was merged in pull request #62.
This commit is contained in:
@@ -128,11 +128,11 @@ func run(r replays.Replay, repos, at string, fixed bool) (string, string) {
|
||||
return verdictOf(string(out), err, false)
|
||||
}
|
||||
mode := "-mod=vendor"
|
||||
if _, err := os.Stat(filepath.Join(tree, "vendor")); err != nil {
|
||||
if _, err := os.Stat(filepath.Join(tree, r.Module, "vendor")); err != nil {
|
||||
mode = "-mod=mod"
|
||||
}
|
||||
cmd := exec.CommandContext(ctx, "go", "test", "-count=1", "-run", "^"+r.Test, r.Package)
|
||||
cmd.Dir = tree
|
||||
cmd.Dir = filepath.Join(tree, r.Module)
|
||||
cmd.Env = append(os.Environ(), "GOFLAGS="+mode, "GOPRIVATE=git.novox.be")
|
||||
out, err := cmd.CombinedOutput()
|
||||
return verdictOf(string(out), err, r.Kind == replays.Gate)
|
||||
|
||||
@@ -67,6 +67,9 @@ type Replay struct {
|
||||
Home, HomeRef string
|
||||
// With is the other repositories the replay runs at their commits beside Repository's (Liveness).
|
||||
With []Also
|
||||
// Module is the directory of the Go module the replay runs in, within Repository, when that is not its
|
||||
// root: a catalogue module is a Go module of its own. Package is relative to it; Files are not.
|
||||
Module string
|
||||
}
|
||||
|
||||
// Register is every replay, by incident.
|
||||
@@ -151,6 +154,18 @@ var Register = []Replay{
|
||||
"toolchain, and the layer passes only when every part does",
|
||||
Package: "./internal/builder", Test: "TestARepositoryInTwoLanguagesIsCheckedInBoth",
|
||||
Files: []string{"internal/builder/check_test.go"}},
|
||||
// A recheck left the old verdict standing (2026-10-07): the forge keeps the newest status of each context
|
||||
// on a head, and a recheck asks of the same head, so the old green let the pull request merge while the
|
||||
// fresh check ran. A test in mesh-delivery, which asks the forge's holder (core) to put the merge check
|
||||
// back to pending; the holder's own half is its TypeScript test.
|
||||
{ID: "R305", Issue: 305, Kind: InRepository, Repository: "mesh-catalog", Fix: "74f912e",
|
||||
What: "a pull request rechecked at 23:04 kept mesh/merge-gate and mesh/repo-check success from 16:59, " +
|
||||
"and the forge would have merged it while its fresh check ran",
|
||||
Asserts: "a recheck puts the head's merge check statuses back to pending before it asks the check, and " +
|
||||
"is refused whole when the forge cannot be told",
|
||||
Module: "modules/mesh-delivery", Package: "./cmd/mesh-delivery", Test: "TestARecheck",
|
||||
Files: []string{"modules/mesh-delivery/cmd/mesh-delivery/recheck_test.go",
|
||||
"modules/mesh-delivery/cmd/mesh-delivery/fakes_test.go"}},
|
||||
// Not a core incident, and the first of its kind: a module's. The crash loop was found by a person
|
||||
// reading the agent server's log for another reason (issue 268); research 032 measured it, and ADR
|
||||
// 0240 makes the node-engine judge it and the gate fail it.
|
||||
|
||||
Reference in New Issue
Block a user