Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
22b70c82b0 | ||
|
|
6aa8e869a3 |
@@ -0,0 +1,29 @@
|
|||||||
|
package catalogue
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
// mesh-sdk's own manifest is judged by the controller that runs when it is checked, and that controller reads it
|
||||||
|
// strictly: a manifest word ships one release ahead of its first user. R4e's group is judged by today's controller
|
||||||
|
// (novox/hq ADR 0503 §4), which does not know `paths` (ADR 0499), so mesh-sdk's lib names no paths until a release
|
||||||
|
// after R4e's delivery adds them back (ADR 0499 §6, issue 1758).
|
||||||
|
func TestOwnManifestUsesNoWordTheRunningControllerRefuses(t *testing.T) {
|
||||||
|
raw, err := os.ReadFile("../../module.json")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
m, err := ParseManifest(raw)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("mesh-sdk's module.json does not parse: %v", err)
|
||||||
|
}
|
||||||
|
if m.Build == nil || len(m.Build.Artifacts) == 0 {
|
||||||
|
t.Fatal("mesh-sdk's module.json declares no artifact")
|
||||||
|
}
|
||||||
|
for _, a := range m.Build.Artifacts {
|
||||||
|
if a.Paths != nil {
|
||||||
|
t.Errorf("artifact %q names paths %v: the running controller refuses the word until R4e is delivered", a.Name, a.Paths)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,7 +10,8 @@ import (
|
|||||||
// the provision, and does not find out at its first build. The manifests are the catalogue's, as they are.
|
// the provision, and does not find out at its first build. The manifests are the catalogue's, as they are.
|
||||||
|
|
||||||
// builderNode is a machine that can run a build module: the package manager and user namespaces it asks of
|
// builderNode is a machine that can run a build module: the package manager and user namespaces it asks of
|
||||||
// the machine, and the forge account (mesh-scope, provided by the forge) stood in for.
|
// the machine, and the forge account (mesh-scope, provided by the forge) and the artifact store the build
|
||||||
|
// modules publish to (ADR 0513, provided by distribution) stood in for.
|
||||||
func builderNode() Node {
|
func builderNode() Node {
|
||||||
return Node{Name: "builder", Site: "house",
|
return Node{Name: "builder", Site: "house",
|
||||||
Capabilities: map[string]bool{"package-manager": true, "user-namespaces": true}}
|
Capabilities: map[string]bool{"package-manager": true, "user-namespaces": true}}
|
||||||
@@ -19,7 +20,7 @@ func builderNode() Node {
|
|||||||
func toolchainShelf(t *testing.T) map[string]Manifest {
|
func toolchainShelf(t *testing.T) map[string]Manifest {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
m := map[string]Manifest{
|
m := map[string]Manifest{
|
||||||
"forge": {Module: "forge", Version: "1", Provides: []Offer{{Name: "forge-account"}, {Name: "npm-package-registry"}}},
|
"forge": {Module: "forge", Version: "1", Provides: []Offer{{Name: "forge-account"}, {Name: "npm-package-registry"}, {Name: "artifact-store"}}},
|
||||||
}
|
}
|
||||||
for _, name := range []string{"go", "nodejs", "mesh-build-go", "mesh-build-node", "dev-tools"} {
|
for _, name := range []string{"go", "nodejs", "mesh-build-go", "mesh-build-node", "dev-tools"} {
|
||||||
m[name] = catalogueManifest(t, name)
|
m[name] = catalogueManifest(t, name)
|
||||||
|
|||||||
+1
-6
@@ -4,12 +4,7 @@
|
|||||||
"slug": "sdk",
|
"slug": "sdk",
|
||||||
"build": {
|
"build": {
|
||||||
"artifacts": [
|
"artifacts": [
|
||||||
{
|
{ "name": "lib", "kind": "package", "language": "typescript" }
|
||||||
"name": "lib",
|
|
||||||
"kind": "package",
|
|
||||||
"language": "typescript",
|
|
||||||
"paths": ["src", "test", "package.json", "package-lock.json", "tsconfig.json"]
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"resources": []
|
"resources": []
|
||||||
|
|||||||
Reference in New Issue
Block a user