diff --git a/modules/mesh-delivery-builder/internal/build/buildread.go b/modules/mesh-delivery-builder/internal/build/buildread.go index 1d9ec73a..ec924e57 100644 --- a/modules/mesh-delivery-builder/internal/build/buildread.go +++ b/modules/mesh-delivery-builder/internal/build/buildread.go @@ -159,7 +159,7 @@ func (r *BuildReader) stepNode(v builds.BuilderBuild) string { return "" } if r.index == nil { - idx, err := r.Steps.stepIndex() + idx, _, err := r.Steps.stepIndex() if err != nil { return "" } diff --git a/modules/mesh-delivery-builder/internal/build/stuck.go b/modules/mesh-delivery-builder/internal/build/stuck.go index 4b906c98..cf2fd1c5 100644 --- a/modules/mesh-delivery-builder/internal/build/stuck.go +++ b/modules/mesh-delivery-builder/internal/build/stuck.go @@ -318,7 +318,7 @@ func (r StuckReader) Stuck(module string) (map[string]any, error) { if r.Now != nil { now = r.Now } - stepKeys, err := r.stepIndex() + stepKeys, steps, err := r.stepIndex() if err != nil { return nil, err } @@ -420,7 +420,7 @@ func (r StuckReader) Stuck(module string) (map[string]any, error) { // stepIndex finds the build modules' steps by the ask's id, which their key ends in: one index per build module, no value read // until an ask names it. -func (r StuckReader) stepIndex() (map[string]map[string]string, error) { +func (r StuckReader) stepIndex() (map[string]map[string]string, map[string]StateRead, error) { stepKeys := map[string]map[string]string{} steps := r.Steps if r.StepsOf != nil { @@ -432,7 +432,7 @@ func (r StuckReader) stepIndex() (map[string]map[string]string, error) { for bm, s := range steps { ks, err := s.Keys() if err != nil { - return nil, fmt.Errorf("the steps of %s: %w", bm, err) + return nil, nil, fmt.Errorf("the steps of %s: %w", bm, err) } byID := make(map[string]string, len(ks)) for _, k := range ks { @@ -448,12 +448,9 @@ func (r StuckReader) stepIndex() (map[string]map[string]string, error) { } stepKeys[bm] = byID } - return stepKeys, nil + return stepKeys, steps, nil } -// StuckBuildModules are the build modules whose steps builder_stuck reads. -var StuckBuildModules = []string{buildrun.GoBuildModule, buildrun.NodeBuildModule, ImageBuildModule} - // idTime is when a step id was made (buildstep.NewID: the time in milliseconds in base 36, then six hex digits). func idTime(id string) (time.Time, bool) { if len(id) <= 6 { diff --git a/modules/mesh-delivery-builder/internal/versions/republish_test.go b/modules/mesh-delivery-builder/internal/versions/republish_test.go index c7f15d7d..b8c65419 100644 --- a/modules/mesh-delivery-builder/internal/versions/republish_test.go +++ b/modules/mesh-delivery-builder/internal/versions/republish_test.go @@ -71,7 +71,7 @@ func (b *republishBed) reserve(t *testing.T, module string) ReservedVersion { t.Fatal(err) } for ref, d := range map[string]string{module + ":prog": "sha256:aa", module + ":lib": "sha256:bb"} { - if _, err := b.Reserved.Built(ctx, module, v.Version, ref, d); err != nil { + if _, err := b.Reserved.Built(ctx, module, v.Version, ref, d, nil); err != nil { t.Fatal(err) } } diff --git a/modules/mesh-delivery-indexer/judge/busstate.go b/modules/mesh-delivery-indexer/judge/busstate.go index bd7c0cf6..8bdfc158 100644 --- a/modules/mesh-delivery-indexer/judge/busstate.go +++ b/modules/mesh-delivery-indexer/judge/busstate.go @@ -178,9 +178,9 @@ func BusStateProblems(m catalogue.Manifest) []string { func KeptFormProblems(m catalogue.Manifest) []string { var problems []string for _, k := range catalogue.KeptDeclarations(m) { - if k.CatchUp != "" && !slices.Contains(m.Tools, k.CatchUp) { + if k.CatchUp != nil && !slices.Contains(m.Tools, k.CatchUp.Tool) { problems = append(problems, fmt.Sprintf("%s's kept %s %q: its catch-up tool %q is not among the module's tools (%s); a "+ - "restore of it is followed by a tool of the module's own (novox/hq design 47)", m.Module, k.Kind, k.Name, k.CatchUp, + "restore of it is followed by a tool of the module's own (novox/hq design 47)", m.Module, k.Kind, k.Name, k.CatchUp.Tool, orNoneWords(m.Tools))) } }