fix(deploy): keep manager releases on stable runner

This commit is contained in:
Codex
2026-08-11 21:54:49 +03:00
parent 094cf7143a
commit bb0724c52c
10 changed files with 802 additions and 634 deletions
@@ -12,7 +12,7 @@ const devicePlaneRoot = resolve(platformRoot, "device-plane");
const designRoot = resolve(process.env.NODEDC_DEVICE_MANAGER_SOURCE_ROOT || resolve(platformRoot, "../NODEDC_DESIGN_GUIDELINE"));
const managerRoot = resolve(designRoot, "apps/device-manager");
const artifactDir = resolve(process.env.NODEDC_DEPLOY_ARTIFACT_DIR || resolve(scriptDir, "../deploy-artifacts"));
const [patchId = "device-manager-release-20260811-015", ...extra] = process.argv.slice(2);
const [patchId = "device-manager-release-20260811-016", ...extra] = process.argv.slice(2);
if (extra.length || !/^[A-Za-z0-9._-]{1,96}$/.test(patchId)) throw new Error("usage: build-device-manager-control-plane-artifact.mjs [patch-id]");
const entries = [
@@ -22,13 +22,10 @@ const entries = [
"docker-compose.device-manager.yml",
"packages/device-protocol-contract",
"packages/device-edge-channel-contract",
"packages/device-adapter-runtime/package.json",
"packages/device-adapter-catalog/package.json",
"packages/arusnavi-b2-adapter",
"services/device-control-core",
"services/device-gateway/package.json",
"services/device-edge-relay/package.json",
"services/device-gateway-core",
"services/device-manager",
"deployment/device-manager-release-v2.json",
];
@@ -75,6 +72,7 @@ try {
);
for (const modulePath of [
"services/device-control-core/src/sensitive-reference-management.mjs",
"services/device-control-core/src/device-gateway-core-runtime.mjs",
"packages/device-edge-channel-contract/src/index.mjs",
]) {
const coreImport = spawnSync(
-7
View File
@@ -299,13 +299,10 @@ DEVICE_PLANE_MANAGER_RELEASE_V2_ENTRIES = (
DEVICE_PLANE_MANAGER_COMPOSE_REL,
"packages/device-protocol-contract",
"packages/device-edge-channel-contract",
"packages/device-adapter-runtime/package.json",
"packages/device-adapter-catalog/package.json",
"packages/arusnavi-b2-adapter",
"services/device-control-core",
"services/device-gateway/package.json",
"services/device-edge-relay/package.json",
"services/device-gateway-core",
"services/device-manager",
DEVICE_PLANE_MANAGER_RELEASE_V2_REL,
)
@@ -3536,13 +3533,10 @@ def allowed_payload_path(component, rel):
DEVICE_PLANE_MANAGER_V2_RECONCILIATION_REL,
"packages/device-protocol-contract",
"packages/device-edge-channel-contract",
"packages/device-adapter-runtime/package.json",
"packages/device-adapter-catalog/package.json",
"packages/arusnavi-b2-adapter",
"services/device-control-core",
"services/device-gateway",
"services/device-edge-relay/package.json",
"services/device-gateway-core",
"services/device-manager",
"services/device-backhaul-target",
):
@@ -3553,7 +3547,6 @@ def allowed_payload_path(component, rel):
"packages/arusnavi-b2-adapter/",
"services/device-control-core/",
"services/device-gateway/",
"services/device-gateway-core/",
"services/device-manager/",
"services/device-backhaul-target/",
)):
@@ -211,17 +211,29 @@ class DeviceManagerControlPlaneArtifactsTest(unittest.TestCase):
)
self.assertIn("packages/device-edge-channel-contract", entries)
self.assertIn(
"payload/packages/device-adapter-runtime/package.json",
"payload/services/device-control-core/package-lock.json",
names,
)
self.assertIn(
"payload/packages/device-adapter-catalog/package.json",
"payload/services/device-control-core/src/device-gateway-core-runtime.mjs",
names,
)
self.assertFalse(any(
name.startswith("payload/packages/device-adapter-runtime/")
or name.startswith("payload/packages/device-adapter-catalog/")
or name.startswith("payload/services/device-gateway-core/")
for name in names
))
core_dockerfile = (
PLATFORM_ROOT / "device-plane/services/device-control-core/Dockerfile"
).read_text(encoding="utf-8")
self.assertIn(
"payload/services/device-gateway-core/src/runtime.mjs",
names,
"COPY services/device-control-core/package.json "
"services/device-control-core/package-lock.json ./",
core_dockerfile,
)
self.assertNotIn("COPY package.json package-lock.json ./", core_dockerfile)
self.assertNotIn("COPY services/device-gateway-core", core_dockerfile)
self.assertFalse(any(name.endswith(".test.mjs") for name in names))
self.assertEqual(result["services"], ["device-control-core", "device-manager"])
self.assertNotIn("device-postgres", result["services"])
@@ -108,11 +108,8 @@ class DevicePlaneRegistryTest(unittest.TestCase):
"docker-compose.device-plane.yml",
"packages/device-protocol-contract/src/index.mjs",
"packages/device-edge-channel-contract/src/index.mjs",
"packages/device-adapter-runtime/package.json",
"packages/device-adapter-catalog/package.json",
"services/device-control-core/Dockerfile",
"services/device-gateway/src/runtime.mjs",
"services/device-gateway-core/src/runtime.mjs",
):
self.assertTrue(
RUNNER.allowed_payload_path("device-plane", allowed),
@@ -123,6 +120,9 @@ class DevicePlaneRegistryTest(unittest.TestCase):
"secrets/postgres-password",
"runtime/postgres/data",
"services/unknown/server.mjs",
"packages/device-adapter-runtime/package.json",
"packages/device-adapter-catalog/package.json",
"services/device-gateway-core/src/runtime.mjs",
"docker-compose.yml",
"services/device-control-core/start.sh",
"services/device-control-core/test/app.test.mjs",