A catalogue change has every repository the node-engine's composer requires beside it (issue 1921, issue 1966)
mesh-build-go's composer test builds the node-engine's composer from what lies beside, with nothing fetched; with mesh-sdk and the node-engine alone, its zero-version requirements on mesh-contracts (and mesh-delivery, mesh-networking) were looked up on the network and the group's fourth try failed. The quick fix, chosen: the catalogue's beside rule names them. The thorough fix, left: besideFor derives a built sibling's siblings from its go.mod's zero-version requirements. Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
@@ -41,12 +41,14 @@ const (
|
|||||||
// checks/deps). Which commit of each is besideCommit's rule. No repository's tests read the controller, which ended by its
|
// 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
|
// unassignment (novox/hq ADR 0590, issue 1126), and its repository is emptied and archived (ADR 0593 §11), so it has no
|
||||||
// siblings placed either. mesh-sdk reads mesh-contracts and mesh-delivery (its bootstrapped seats against their contracts files). The catalogue's tests read the node-engine since its composer command moved there (ADR 0593
|
// siblings placed either. mesh-sdk reads mesh-contracts and mesh-delivery (its bootstrapped seats against their contracts files). 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. The node-engine's read mesh-networking since route-proxy's proofs of a
|
// §7): mesh-build-go builds it for a compose ask, and with it every repository its composer requires at the zero version
|
||||||
|
// (mesh-contracts, mesh-delivery, mesh-networking; issue 1921: with mesh-sdk alone beside, that build looked them up on the
|
||||||
|
// network and failed). The node-engine's read mesh-networking since route-proxy's proofs of a
|
||||||
// composition moved into them (ADR 0593).
|
// composition moved into them (ADR 0593).
|
||||||
var besideRules = map[string][]string{
|
var besideRules = map[string][]string{
|
||||||
nodeEngineRepo: {catalogueRepository, SDKRepository, networkingRepository},
|
nodeEngineRepo: {catalogueRepository, SDKRepository, networkingRepository},
|
||||||
SDKRepository: {catalogueRepository, nodeEngineRepo, contractsRepository, deliveryRepository},
|
SDKRepository: {catalogueRepository, nodeEngineRepo, contractsRepository, deliveryRepository},
|
||||||
catalogueRepository: {SDKRepository, nodeEngineRepo},
|
catalogueRepository: {SDKRepository, nodeEngineRepo, contractsRepository, deliveryRepository, networkingRepository},
|
||||||
"novox/mesh-delivery": {SDKRepository, catalogueRepository},
|
"novox/mesh-delivery": {SDKRepository, catalogueRepository},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -199,7 +199,8 @@ func TestTheChangesOwnRepositoryIsBesideItAtItsTrunk(t *testing.T) {
|
|||||||
func TestACatalogueChangeHasTheCatalogueBesideItAtItsTrunk(t *testing.T) {
|
func TestACatalogueChangeHasTheCatalogueBesideItAtItsTrunk(t *testing.T) {
|
||||||
hostRuns := strings.Repeat("7", 40)
|
hostRuns := strings.Repeat("7", 40)
|
||||||
b := newBench(t)
|
b := newBench(t)
|
||||||
b.ex.Trunks = trunksOf(t, map[string]string{catalogueRepository: trunkA, SDKRepository: trunkS, "novox/mesh-controller": trunkA2, nodeEngineRepo: trunkA2})
|
b.ex.Trunks = trunksOf(t, map[string]string{catalogueRepository: trunkA, SDKRepository: trunkS, "novox/mesh-controller": trunkA2, nodeEngineRepo: trunkA2,
|
||||||
|
contractsRepository: trunkA2, deliveryRepository: trunkA2, networkingRepository: trunkA2})
|
||||||
b.ex.Runs = runsAt{nodeEngineModule: hostRuns}
|
b.ex.Runs = runsAt{nodeEngineModule: hostRuns}
|
||||||
out := b.judge(t, caseOf(t, pullOf(catalogueRepository, 12, head1)))
|
out := b.judge(t, caseOf(t, pullOf(catalogueRepository, 12, head1)))
|
||||||
// ADR 0548 §6: the outcome names the siblings read at their trunk's head or the commit the mesh runs, never the
|
// ADR 0548 §6: the outcome names the siblings read at their trunk's head or the commit the mesh runs, never the
|
||||||
@@ -211,8 +212,12 @@ func TestACatalogueChangeHasTheCatalogueBesideItAtItsTrunk(t *testing.T) {
|
|||||||
if c := got[catalogueRepository]; c.Commit != trunkA || c.Ref != "" {
|
if c := got[catalogueRepository]; c.Commit != trunkA || c.Ref != "" {
|
||||||
t.Fatalf("the catalogue beside its own change = %+v, want its trunk %s", c, trunkA)
|
t.Fatalf("the catalogue beside its own change = %+v, want its trunk %s", c, trunkA)
|
||||||
}
|
}
|
||||||
if _, ok := got[SDKRepository]; !ok {
|
// Issue 1921: and every repository the node-engine's composer requires at the zero version, which mesh-build-go's
|
||||||
t.Errorf("mesh-sdk is no longer beside a catalogue change: %v", got)
|
// composer test builds from what lies beside, with nothing fetched.
|
||||||
|
for _, repo := range []string{SDKRepository, contractsRepository, deliveryRepository, networkingRepository} {
|
||||||
|
if _, ok := got[repo]; !ok {
|
||||||
|
t.Errorf("%s is not beside a catalogue change: %v", repo, got)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if h := got[nodeEngineRepo]; h.Commit != hostRuns {
|
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)
|
t.Errorf("the node-engine beside a catalogue change = %+v, want the commit the mesh runs %s", h, hostRuns)
|
||||||
|
|||||||
Reference in New Issue
Block a user