diff --git a/modules/mesh-delivery-builder/go.mod b/modules/mesh-delivery-builder/go.mod index 3518e99..3fd55d9 100644 --- a/modules/mesh-delivery-builder/go.mod +++ b/modules/mesh-delivery-builder/go.mod @@ -8,7 +8,7 @@ require ( github.com/nats-io/nats.go v1.54.0 ) -require git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102191416-68e7a2ddbfb9 +require git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102193506-d221c633799a require ( git.novox.be/novox/mesh-delivery/modules/mesh-delivery-builder/buildrun v0.0.0-00010101000000-000000000000 diff --git a/modules/mesh-delivery-builder/go.sum b/modules/mesh-delivery-builder/go.sum index e7ae721..340e467 100644 --- a/modules/mesh-delivery-builder/go.sum +++ b/modules/mesh-delivery-builder/go.sum @@ -1,5 +1,5 @@ -git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102191416-68e7a2ddbfb9 h1:DrwGUXwv3A4KTiUjepbZMNumoillbMfYrKBEl9EZiOc= -git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102191416-68e7a2ddbfb9/go.mod h1:kpsX4Pgss5EeuBvel1zWa2ogj7MkR3jZso6oa/J0YUQ= +git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102193506-d221c633799a h1:oxgksCiq272/afXbUION/dxtAS5MPGnmyq6+AZQxmXg= +git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102193506-d221c633799a/go.mod h1:kpsX4Pgss5EeuBvel1zWa2ogj7MkR3jZso6oa/J0YUQ= git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261102191058-f02f142af128 h1:aI1DhZAuqVBXbybSqhLNOGX5rUOrn9T0cHNCDUQF7IQ= git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261102191058-f02f142af128/go.mod h1:ouERNpZizzwZ0HLEtAypsY9FR20FyUgUYRni6J7kVCY= github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op h1:Z/MZK75wC/NSrkgqeNIa7jexam9uWzhLmFTSCPI/kn0= diff --git a/modules/mesh-delivery-checker/go.mod b/modules/mesh-delivery-checker/go.mod index bd505e0..7024be4 100644 --- a/modules/mesh-delivery-checker/go.mod +++ b/modules/mesh-delivery-checker/go.mod @@ -8,7 +8,7 @@ require ( github.com/nats-io/nats.go v1.54.0 ) -require git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102191416-68e7a2ddbfb9 +require git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102193506-d221c633799a require ( git.novox.be/novox/mesh-delivery/modules/mesh-delivery-builder/buildrun v0.0.0-00010101000000-000000000000 diff --git a/modules/mesh-delivery-checker/go.sum b/modules/mesh-delivery-checker/go.sum index e7ae721..340e467 100644 --- a/modules/mesh-delivery-checker/go.sum +++ b/modules/mesh-delivery-checker/go.sum @@ -1,5 +1,5 @@ -git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102191416-68e7a2ddbfb9 h1:DrwGUXwv3A4KTiUjepbZMNumoillbMfYrKBEl9EZiOc= -git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102191416-68e7a2ddbfb9/go.mod h1:kpsX4Pgss5EeuBvel1zWa2ogj7MkR3jZso6oa/J0YUQ= +git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102193506-d221c633799a h1:oxgksCiq272/afXbUION/dxtAS5MPGnmyq6+AZQxmXg= +git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0-20261102193506-d221c633799a/go.mod h1:kpsX4Pgss5EeuBvel1zWa2ogj7MkR3jZso6oa/J0YUQ= git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261102191058-f02f142af128 h1:aI1DhZAuqVBXbybSqhLNOGX5rUOrn9T0cHNCDUQF7IQ= git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261102191058-f02f142af128/go.mod h1:ouERNpZizzwZ0HLEtAypsY9FR20FyUgUYRni6J7kVCY= github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op h1:Z/MZK75wC/NSrkgqeNIa7jexam9uWzhLmFTSCPI/kn0= diff --git a/modules/mesh-delivery-checker/internal/check/beside.go b/modules/mesh-delivery-checker/internal/check/beside.go index 1de8fa7..9b5d533 100644 --- a/modules/mesh-delivery-checker/internal/check/beside.go +++ b/modules/mesh-delivery-checker/internal/check/beside.go @@ -33,11 +33,12 @@ const ( // beside.go): the catalogue, the node-engine, the SDK, and the delivery's pinned forge dependencies (mesh-catalog // checks/deps). Which commit of each is besideCommit's rule. No repository's tests read the controller, which ended by its // unassignment (novox/hq ADR 0590, issue 1126), and its repository is emptied and archived (ADR 0593 §11), so it has no -// siblings placed either. +// siblings placed either. The catalogue's tests read the node-engine since its composer command moved there (ADR 0593 +// §7): mesh-build-go builds it for a compose ask. var besideRules = map[string][]string{ nodeEngineRepo: {catalogueRepository, SDKRepository}, SDKRepository: {catalogueRepository, nodeEngineRepo}, - catalogueRepository: {SDKRepository}, + catalogueRepository: {SDKRepository, nodeEngineRepo}, "novox/mesh-delivery": {SDKRepository, catalogueRepository}, } diff --git a/modules/mesh-delivery-checker/internal/check/pins_test.go b/modules/mesh-delivery-checker/internal/check/pins_test.go index cadc3fe..97f949e 100644 --- a/modules/mesh-delivery-checker/internal/check/pins_test.go +++ b/modules/mesh-delivery-checker/internal/check/pins_test.go @@ -137,14 +137,18 @@ func TestTheChangesOwnRepositoryIsBesideItAtItsTrunk(t *testing.T) { } // 1887/A12: a catalogue change's siblings hold the catalogue itself at the trunk it is merged onto, beside mesh-sdk, so -// the catalogue's shrink-only list tests read $MESH_CHECK_BESIDE/mesh-catalog. +// the catalogue's shrink-only list tests read $MESH_CHECK_BESIDE/mesh-catalog. And the node-engine at the commit the mesh +// runs (ADR 0593 §7): mesh-build-go's composer test builds the node-engine's composer command from it. func TestACatalogueChangeHasTheCatalogueBesideItAtItsTrunk(t *testing.T) { + hostRuns := strings.Repeat("7", 40) b := newBench(t) - b.ex.Trunks = trunksOf(t, map[string]string{catalogueRepository: trunkA, SDKRepository: trunkS, "novox/mesh-controller": trunkA2}) + b.ex.Trunks = trunksOf(t, map[string]string{catalogueRepository: trunkA, SDKRepository: trunkS, "novox/mesh-controller": trunkA2, nodeEngineRepo: trunkA2}) + b.ex.Runs = runsAt{nodeEngineModule: hostRuns} out := b.judge(t, caseOf(t, pullOf(catalogueRepository, 12, head1))) - // ADR 0548 §6: the outcome names the siblings read at their trunk's head, never the repository it merges. - if out.Beside[SDKRepository] != trunkS || out.Beside["novox/mesh-controller"] != "" || out.Beside[catalogueRepository] != "" { - t.Errorf("the siblings named for the verdict = %v, want mesh-sdk at its trunk and neither the controller nor the catalogue", out.Beside) + // ADR 0548 §6: the outcome names the siblings read at their trunk's head or the commit the mesh runs, never the + // repository it merges. + if out.Beside[SDKRepository] != trunkS || out.Beside[nodeEngineRepo] != hostRuns || out.Beside["novox/mesh-controller"] != "" || out.Beside[catalogueRepository] != "" { + t.Errorf("the siblings named for the verdict = %v, want mesh-sdk at its trunk, the node-engine at the commit the mesh runs, and neither the controller nor the catalogue", out.Beside) } got := besideOf(t, b, catalogueRepository) if c := got[catalogueRepository]; c.Commit != trunkA || c.Ref != "" { @@ -153,6 +157,9 @@ func TestACatalogueChangeHasTheCatalogueBesideItAtItsTrunk(t *testing.T) { if _, ok := got[SDKRepository]; !ok { t.Errorf("mesh-sdk is no longer beside a catalogue change: %v", got) } + if h := got[nodeEngineRepo]; h.Commit != hostRuns { + t.Errorf("the node-engine beside a catalogue change = %+v, want the commit the mesh runs %s", h, hostRuns) + } } // 1887/A12: a mesh-lab head gets a check: with its trunk known it is judged like any repository, its Go fetch finding