Build, image, node, distribution and gitea take parts, buildstep and composer from mesh-delivery-sdk; seatgen's client check allows a client's own packages and its -go-module has no root default; the build module writes its finding through the conditions client (K-4..K-20 part; ADR 0634 §3, §4, ADR 0635 §4; issue 1966)

This commit is contained in:
2026-11-05 14:31:04 +01:00
parent e8f93d5db0
commit b2db504ab2
61 changed files with 97 additions and 76 deletions
@@ -20,10 +20,10 @@ import (
"git.novox.be/novox/mesh-contracts/health-and-repair/go/clients/meshhandactsclient"
reg "git.novox.be/novox/mesh-delivery/contracts/go/seats/containerimageregistry"
"git.novox.be/novox/mesh-delivery/sdk/parts"
stdio "git.novox.be/novox/mesh-sdk/go"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/health"
"git.novox.be/novox/mesh-sdk/go/parts"
"distribution/internal/holder"
)
+1
View File
@@ -3,6 +3,7 @@ module distribution
go 1.26.0
require (
git.novox.be/novox/mesh-delivery/sdk v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-contracts/health-and-repair/go/clients/meshhandactsclient v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-delivery/contracts/go/seats/containerimageregistry v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261104174359-05b3e2e1b94f
@@ -10,7 +10,7 @@ import (
"time"
"git.novox.be/novox/mesh-contracts/health-and-repair/go/clients/meshhandactsclient"
"git.novox.be/novox/mesh-sdk/go/parts"
"git.novox.be/novox/mesh-delivery/sdk/parts"
)
// The bounds of incoming (design 51 *Publishing*, ADR 0611): a part is at most 1 MiB, a transfer with no part for 24
@@ -10,8 +10,8 @@ import (
"os"
"strings"
"git.novox.be/novox/mesh-delivery/sdk/parts"
stdio "git.novox.be/novox/mesh-sdk/go"
"git.novox.be/novox/mesh-sdk/go/parts"
"gitea/internal/packageseats"
)
+1 -1
View File
@@ -30,10 +30,10 @@ import (
"git.novox.be/novox/mesh-contracts/health-and-repair/go/clients/meshhandactsclient"
goreg "git.novox.be/novox/mesh-delivery/contracts/go/seats/gopackageregistry"
npmreg "git.novox.be/novox/mesh-delivery/contracts/go/seats/npmpackageregistry"
"git.novox.be/novox/mesh-delivery/sdk/parts"
stdio "git.novox.be/novox/mesh-sdk/go"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/health"
"git.novox.be/novox/mesh-sdk/go/parts"
"gitea/internal/packageseats"
)
+1
View File
@@ -3,6 +3,7 @@ module gitea
go 1.26.0
require (
git.novox.be/novox/mesh-delivery/sdk v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-contracts/provisioning/go/clients/meshprovisionerclient v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-contracts/health-and-repair/go/clients/meshhandactsclient v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-delivery/contracts/go/seats/gopackageregistry v0.0.0-00010101000000-000000000000
@@ -13,8 +13,8 @@ import (
"time"
"git.novox.be/novox/mesh-contracts/health-and-repair/go/clients/meshhandactsclient"
"git.novox.be/novox/mesh-delivery/sdk/parts"
stdio "git.novox.be/novox/mesh-sdk/go"
"git.novox.be/novox/mesh-sdk/go/parts"
)
// The seats the forge module holds.
@@ -9,8 +9,8 @@ import (
"time"
"git.novox.be/novox/mesh-contracts/health-and-repair/go/clients/meshhandactsclient"
"git.novox.be/novox/mesh-delivery/sdk/parts"
stdio "git.novox.be/novox/mesh-sdk/go"
"git.novox.be/novox/mesh-sdk/go/parts"
)
type memObjects map[string][]byte
@@ -5,7 +5,7 @@ import (
"encoding/json"
"errors"
"fmt"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"slices"
"strings"
"testing"
+1 -1
View File
@@ -1,7 +1,7 @@
package buildstep
import (
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"encoding/json"
"fmt"
@@ -13,8 +13,8 @@ import (
func main() {
check := flag.Bool("check", false, "compare instead of writing: name every path out of step")
goModule := flag.String("go-module", "git.novox.be/novox/mesh-contracts/go", "the generated Go tree's module path")
tsPackage := flag.String("ts-package", "@novox/mesh-contracts", "the generated TypeScript package's name")
goModule := flag.String("go-module", "", "the generated Go tree's module path, such as git.novox.be/novox/mesh-contracts/<folder>/go (there is no root module)")
tsPackage := flag.String("ts-package", "", "the generated TypeScript package's name, such as @novox/mesh-contracts-<folder>")
flag.Parse()
dir := flag.Arg(0)
m, err := seatgen.Load(dir, *goModule, *tsPackage)
@@ -15,7 +15,7 @@ import (
"strings"
"testing"
"git.novox.be/novox/mesh-sdk/go/buildstep"
"git.novox.be/novox/mesh-delivery/sdk/buildstep"
)
// The runners the kit holds output of.
@@ -8,7 +8,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
)
// The failure contract (issue 1901): the SDK's own parsers keep it on every captured case of the kit (1901/AC6); the
@@ -10,8 +10,8 @@ import (
"testing"
"time"
"git.novox.be/novox/mesh-delivery/sdk/buildstep"
stdio "git.novox.be/novox/mesh-sdk/go"
"git.novox.be/novox/mesh-sdk/go/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
)
+1
View File
@@ -3,6 +3,7 @@ module git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep
go 1.26.0
require (
git.novox.be/novox/mesh-delivery/sdk v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-delivery/contracts/go/clients/containerimageregistryclient v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-delivery/contracts/go/clients/gopackageregistryclient v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-delivery/contracts/go/clients/npmpackageregistryclient v0.0.0-00010101000000-000000000000
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"bufio"
"encoding/json"
"fmt"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"regexp"
"slices"
"strings"
@@ -19,9 +19,9 @@ import (
"time"
reg "git.novox.be/novox/mesh-delivery/contracts/go/seats/containerimageregistry"
"git.novox.be/novox/mesh-delivery/sdk/parts"
stdio "git.novox.be/novox/mesh-sdk/go"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/parts"
)
// NumberedPattern is the event type a build module consumes for the late publish, as its manifest's `consumes` names it.
+1 -1
View File
@@ -2,7 +2,7 @@ package buildstep
import (
"fmt"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"os"
"path"
"path/filepath"
@@ -1,7 +1,7 @@
package buildstep
import (
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"os"
"path/filepath"
"sort"
+1 -1
View File
@@ -23,7 +23,7 @@ import (
goseat "git.novox.be/novox/mesh-delivery/contracts/go/seats/gopackageregistry"
npmseat "git.novox.be/novox/mesh-delivery/contracts/go/seats/npmpackageregistry"
ociseat "git.novox.be/novox/mesh-delivery/contracts/go/seats/ociartifactregistry"
"git.novox.be/novox/mesh-sdk/go/parts"
"git.novox.be/novox/mesh-delivery/sdk/parts"
)
// The registry seats a build module publishes on.
+13 -3
View File
@@ -5,7 +5,7 @@ import (
"encoding/json"
"errors"
"fmt"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"sort"
"strings"
"sync"
@@ -513,7 +513,7 @@ func (p *Puller) next(ctx context.Context, wait time.Duration) (*Pulled, error)
// message: the asker puts the ask again under a new id (issue 890). A message whose decline cannot be written is handed
// back, as one whose start cannot be.
func (p *Puller) decline(msg *Pulled, ask delivery.StepAsk, lacks []string) {
step, key, err := begin(p.Put, p.Node, ask.Kind+" ask", ask.ID, sdkstep.AskWhat(ask))
step, key, err := begin(p.Put, p.Node, ask.Kind+" ask", ask.ID, sdkstep.AskWhat(askRead(ask)))
if err == nil {
why := Refuse("the ask %s needs %s, and %s lacks %s: it is left to a node that has it", ask.ID,
strings.Join(ask.Needs, ", "), p.Node, strings.Join(lacks, ", "))
@@ -585,7 +585,7 @@ func (p *Puller) take(ctx context.Context, msg *Pulled) {
p.decline(msg, ask, lacks)
return
}
step, key, err := begin(p.Put, p.Node, ask.Kind+" ask", ask.ID, sdkstep.AskWhat(ask))
step, key, err := begin(p.Put, p.Node, ask.Kind+" ask", ask.ID, sdkstep.AskWhat(askRead(ask)))
if err != nil {
p.logf("the ask %s cannot start on %s: %v", ask.ID, p.Node, err)
_ = msg.Nak()
@@ -797,3 +797,13 @@ func (p *Puller) capacityFrom(c stdio.ProvisionChange) (int, string) {
}
return n, ""
}
// askRead is the part of an ask that mesh-delivery-sdk's AskWhat reads, taken from the ask's own layout (the part
// build-step's StepAsk is the same JSON).
func askRead(ask delivery.StepAsk) sdkstep.Ask {
var out sdkstep.Ask
if raw, err := json.Marshal(ask); err == nil {
_ = json.Unmarshal(raw, &out)
}
return out
}
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"encoding/json"
"errors"
"fmt"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"os"
"path/filepath"
"strings"
@@ -112,6 +112,8 @@ func checkClient(dir, at, seat string, m *Module) ([]string, error) {
case !strings.Contains(strings.SplitN(path, "/", 2)[0], "."):
case path == own:
case path == RuntimeModule || strings.HasPrefix(path, RuntimeModule+"/"):
case path == ClientGoModule(m.GoModule, seat) || strings.HasPrefix(path, ClientGoModule(m.GoModule, seat)+"/"):
// the client's own packages: a client may be several packages of its module
case strings.HasPrefix(path, m.GoModule+"/clients/"):
out = append(out, r+": imports "+path+", another seat's client (ADR 0625 §4)")
case path == m.GoModule || strings.HasPrefix(path, m.GoModule+"/"):
@@ -24,10 +24,10 @@ import (
"context"
"example.org/contracts/go/seats/aregistry"
"git.novox.be/novox/mesh-sdk/go/parts"
"git.novox.be/novox/mesh-sdk/go/keys"
)
func Publish(ctx context.Context) string { _ = parts.MaxChunk; return "seat:" + aregistry.Seat + ".publish" }
func Publish(ctx context.Context) string { _ = keys.EscapeName; return "seat:" + aregistry.Seat + ".publish" }
`
const ts = `,{"name":"ts-aregistry","kind":"package","language":"typescript","paths":["ts/seats/aregistry"]},
{"name":"ts-bregistry","kind":"package","language":"typescript","paths":["ts/seats/bregistry"]}`
@@ -59,6 +59,15 @@ func Publish(ctx context.Context) string { _ = parts.MaxChunk; return "seat:" +
{"name":"ts-onestore","kind":"package","language":"typescript","paths":["ts/seats/onestore"]}]}}`,
[]string{"module.json: no npm package artifact ts-bregistry", "module.json: the artifact ts-aregistry's paths are [ts], not [ts/seats/aregistry]",
"module.json: the npm package artifact ts-onestore is no seat's"}},
{"a client using its own sub-package, which is no other seat's client", map[string]string{
"go/clients/aregistryclient/go.mod": "module example.org/contracts/go/clients/aregistryclient\n",
"go/clients/aregistryclient/client.go": `package aregistryclient
import "example.org/contracts/go/clients/aregistryclient/provider"
var _ = provider.X
`,
}, artifacts(clientArtifact), nil},
{"a client of no seat defined whole, and one not a module of its own", map[string]string{
"go/clients/onestoreclient/x.go": "package onestoreclient\n",
"go/clients/aregistryclient/go.mod": "module example.org/contracts/go\n",
+1 -1
View File
@@ -12,7 +12,7 @@ import (
"log"
"time"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
)
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"context"
"encoding/json"
"errors"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"sync"
"testing"
"time"
+1 -1
View File
@@ -1,7 +1,7 @@
package buildstep
import (
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
stdio "git.novox.be/novox/mesh-sdk/go"
)
+1 -1
View File
@@ -5,7 +5,7 @@ package buildstep
// earlier file, which is what node's default reporter left the first fifteen lines of.
import (
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"regexp"
"strings"
)
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"path/filepath"
"strings"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/catalogue"
"git.novox.be/novox/mesh-sdk/go/forgekey"
)
@@ -4,7 +4,7 @@ package buildstep
import (
"context"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"reflect"
"strings"
"testing"
@@ -4,7 +4,7 @@ import (
"context"
"crypto/sha256"
"encoding/hex"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"os"
"path/filepath"
"reflect"
@@ -8,8 +8,8 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
stdio "git.novox.be/novox/mesh-sdk/go"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
)
@@ -12,7 +12,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
)
@@ -25,10 +25,10 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
stdio "git.novox.be/novox/mesh-sdk/go"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
"git.novox.be/novox/mesh-contracts/health-and-repair/go/clients/meshconditionsclient"
"git.novox.be/novox/mesh-sdk/go/composer"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-delivery/sdk/composer"
stdio "git.novox.be/novox/mesh-sdk/go"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/views"
)
@@ -80,22 +80,15 @@ func askManifest(key string) (json.RawMessage, error) {
return askManifestVia(stdio.Ask, meshconditionsclient.FindingWriter{State: stdio.State("findings")}, time.Now, key)
}
func askManifestVia(ask func(string, any) (json.RawMessage, error), findings interface {
Put(string, []byte) error
Delete(string) error
}, now func() time.Time, key string) (json.RawMessage, error) {
func askManifestVia(ask func(string, any) (json.RawMessage, error), findings views.FindingWriter, now func() time.Time, key string) (json.RawMessage, error) {
st := views.Status{Owner: delivery.IndexerModule, Tool: ManifestsTool, State: "manifests", Asked: now().UTC()}
raw, err := ask(ManifestsTool, map[string]any{"key": key})
if err != nil {
st.Error = err.Error()
if k, v, ferr := views.UnansweredFinding("mesh-build-go", st, now()); ferr == nil {
_ = findings.Put(k, v)
}
_ = findings.Put(views.UnansweredFinding("mesh-build-go", st, now()))
return nil, err
}
if k, _, ferr := views.UnansweredFinding("mesh-build-go", st, now()); ferr == nil {
_ = findings.Delete(k)
}
_ = findings.Delete(views.UnansweredFinding("mesh-build-go", st, now()))
var a struct {
Found bool `json:"found"`
Value json.RawMessage `json:"value"`
@@ -17,8 +17,8 @@ import (
"github.com/nats-io/nats.go/jetstream"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
"git.novox.be/novox/mesh-sdk/go/composer"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-delivery/sdk/composer"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/forgekey"
"git.novox.be/novox/mesh-sdk/go/testbus"
@@ -11,10 +11,11 @@ import (
"testing"
"time"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
"git.novox.be/novox/mesh-sdk/go/composer"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-delivery/sdk/composer"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/forgekey"
"git.novox.be/novox/mesh-sdk/go/views"
)
// nodeEngineComposer is the composer command of the node-engine's repository, whose Go module is at its root (ADR 0593 §7):
@@ -149,8 +150,8 @@ func TestAnIndexerThatDoesNotAnswerIsAFinding(t *testing.T) {
type mapFindings map[string][]byte
func (m mapFindings) Put(k string, v []byte) error { m[k] = v; return nil }
func (m mapFindings) Delete(k string) error { delete(m, k); return nil }
func (m mapFindings) Put(f views.Finding) error { m[f.ID+"."+f.Kind] = []byte(f.Summary); return nil }
func (m mapFindings) Delete(f views.Finding) error { delete(m, f.ID+"."+f.Kind); return nil }
// ADR 0593 §7 (C9): a compose ask naming the node-engine's repository builds its composer command in the Go module at the
// repository's root, under a key of that repository, commit and package, and runs the program over the request with its
@@ -19,7 +19,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/forgekey"
)
@@ -14,7 +14,7 @@ import (
"strings"
"time"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
)
// The integration level's bounds (ADR 0445 §3).
@@ -6,7 +6,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep/conformance"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
)
// 1901/AC7: the module's own parse path (readGoTest, then the level's judging) keeps the failure contract on every captured
@@ -12,7 +12,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
)
// The two levels (ADR 0445 §2).
@@ -15,7 +15,7 @@ import (
"sync"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/forgekey"
)
@@ -9,7 +9,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/forgekey"
"git.novox.be/novox/mesh-sdk/go/health"
@@ -8,7 +8,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
)
@@ -16,7 +16,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/forgekey"
)
@@ -31,7 +31,7 @@ import (
"strings"
"sync"
"git.novox.be/novox/mesh-sdk/go/delivery"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
)
// TakenVersion is what the fetch built a directory against for one asked package: the asked commit, the version its go.mod
@@ -59,7 +59,7 @@ type downloadInfo struct {
// asked package its go.mod requires. A package go.mod replaces is built as go.mod says, and said. A version that can be
// neither fetched nor found among the forge's pull request heads fails the fetch, naming it. pins serialises the
// placements a workspace's directories share.
func (m *Module) takeVersions(ctx context.Context, root, dir, d string, asked delivery.PackageVersions, pins *sync.Mutex) ([]TakenVersion, error) {
func (m *Module) takeVersions(ctx context.Context, root, dir, d string, asked sdkstep.PackageVersions, pins *sync.Mutex) ([]TakenVersion, error) {
raw, err := os.ReadFile(filepath.Join(dir, "go.mod"))
if err != nil {
return nil, nil
@@ -102,7 +102,7 @@ func (m *Module) takeVersion(ctx context.Context, root, dir string, tv *TakenVer
return err
}
pinsDir := filepath.Dir(modfile)
tagged := delivery.PackageSemver.MatchString(tv.Asked)
tagged := sdkstep.PackageSemver.MatchString(tv.Asked)
r := m.Run(ctx, m.goEnv(), "go", "-C", pinsDir, "mod", "download", "-json", tv.Package+"@"+tv.Asked)
var info downloadInfo
_ = json.Unmarshal([]byte(r.Stdout), &info)
+1
View File
@@ -3,6 +3,7 @@ module meshbuildgo
go 1.26.0
require (
git.novox.be/novox/mesh-delivery/sdk v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-contracts/health-and-repair/go/clients/meshconditionsclient v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-delivery/contracts/go/seats/containerimageregistry v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0
@@ -5,8 +5,8 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
stdio "git.novox.be/novox/mesh-sdk/go"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
)
@@ -7,7 +7,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
)
@@ -14,7 +14,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
)
var (
@@ -6,7 +6,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep/conformance"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
)
// 1890/AC7: the module's own start sweep (endLeftRunning, as main runs it) keeps the conformance kit's left-running
@@ -8,7 +8,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/forgekey"
"git.novox.be/novox/mesh-sdk/go/health"
+1
View File
@@ -3,6 +3,7 @@ module meshbuildimage
go 1.26.0
require (
git.novox.be/novox/mesh-delivery/sdk v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-delivery/contracts/go/seats/containerimageregistry v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261104174359-05b3e2e1b94f
@@ -6,8 +6,8 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
stdio "git.novox.be/novox/mesh-sdk/go"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
)
@@ -11,7 +11,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
)
@@ -18,7 +18,7 @@ import (
"strings"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/catalogue"
"git.novox.be/novox/mesh-sdk/go/delivery"
)
@@ -13,7 +13,7 @@ import (
"strings"
"testing"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/forgekey"
)
@@ -21,7 +21,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/forgekey"
)
@@ -24,7 +24,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/forgekey"
)
@@ -6,7 +6,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep/conformance"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/forgekey"
)
@@ -9,7 +9,7 @@ import (
"time"
"git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep"
sdkstep "git.novox.be/novox/mesh-sdk/go/buildstep"
sdkstep "git.novox.be/novox/mesh-delivery/sdk/buildstep"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/forgekey"
"git.novox.be/novox/mesh-sdk/go/health"
+1
View File
@@ -3,6 +3,7 @@ module meshbuildnode
go 1.26.0
require (
git.novox.be/novox/mesh-delivery/sdk v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-delivery/contracts/go/seats/containerimageregistry v0.0.0-00010101000000-000000000000
git.novox.be/novox/mesh-catalog/modules/mesh-build-go/buildstep v0.0.0
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261104174359-05b3e2e1b94f