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
|
||||
// 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
|
||||
// §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).
|
||||
var besideRules = map[string][]string{
|
||||
nodeEngineRepo: {catalogueRepository, SDKRepository, networkingRepository},
|
||||
SDKRepository: {catalogueRepository, nodeEngineRepo, contractsRepository, deliveryRepository},
|
||||
catalogueRepository: {SDKRepository, nodeEngineRepo},
|
||||
catalogueRepository: {SDKRepository, nodeEngineRepo, contractsRepository, deliveryRepository, networkingRepository},
|
||||
"novox/mesh-delivery": {SDKRepository, catalogueRepository},
|
||||
}
|
||||
|
||||
|
||||
@@ -199,7 +199,8 @@ func TestTheChangesOwnRepositoryIsBesideItAtItsTrunk(t *testing.T) {
|
||||
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, 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}
|
||||
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
|
||||
@@ -211,8 +212,12 @@ func TestACatalogueChangeHasTheCatalogueBesideItAtItsTrunk(t *testing.T) {
|
||||
if c := got[catalogueRepository]; c.Commit != trunkA || c.Ref != "" {
|
||||
t.Fatalf("the catalogue beside its own change = %+v, want its trunk %s", c, trunkA)
|
||||
}
|
||||
if _, ok := got[SDKRepository]; !ok {
|
||||
t.Errorf("mesh-sdk is no longer beside a catalogue change: %v", got)
|
||||
// Issue 1921: and every repository the node-engine's composer requires at the zero version, which mesh-build-go's
|
||||
// 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 {
|
||||
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