From dfee65cb305feb3652cd9f31c075aee989ad209a Mon Sep 17 00:00:00 2001 From: Lyyzka <144704183+lyyzka@users.noreply.github.com> Date: Sat, 17 Oct 2026 19:16:04 +0800 Subject: [PATCH 1/2] deploy: pin passive-bootstrap Worker image [skip deploy] --- deploy/komodo/lingxiloop-app-a/compose.yml | 1 + deploy/komodo/lingxiloop-app-b/compose.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/deploy/komodo/lingxiloop-app-a/compose.yml b/deploy/komodo/lingxiloop-app-a/compose.yml index a5efdde10..0f8344302 100644 --- a/deploy/komodo/lingxiloop-app-a/compose.yml +++ b/deploy/komodo/lingxiloop-app-a/compose.yml @@ -106,6 +106,7 @@ services: worker: <<: *runtime + image: accel.way2api.fun/ghcr.io/lingxi-org/lingxiloop-server:e1fe01c5d82d1553a9cc0f9d81d9e7d92898708d environment: <<: *runtime-environment NODE_OPTIONS: --max-old-space-size=640 diff --git a/deploy/komodo/lingxiloop-app-b/compose.yml b/deploy/komodo/lingxiloop-app-b/compose.yml index 42f4f0c3b..9de55093d 100644 --- a/deploy/komodo/lingxiloop-app-b/compose.yml +++ b/deploy/komodo/lingxiloop-app-b/compose.yml @@ -106,6 +106,7 @@ services: worker: <<: *runtime + image: accel.way2api.fun/ghcr.io/lingxi-org/lingxiloop-server:e1fe01c5d82d1553a9cc0f9d81d9e7d92898708d environment: <<: *runtime-environment NODE_OPTIONS: --max-old-space-size=640 From b82bfe56c6299a51dbb50d2f05194830d49baa6b Mon Sep 17 00:00:00 2001 From: Lyyzka <144704183+lyyzka@users.noreply.github.com> Date: Sat, 17 Oct 2026 19:18:40 +0800 Subject: [PATCH 2/2] test: count both explicit Worker image pins [skip deploy] --- scripts/production-rag-contract.test.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/production-rag-contract.test.mjs b/scripts/production-rag-contract.test.mjs index ed114d742..a8b575aba 100644 --- a/scripts/production-rag-contract.test.mjs +++ b/scripts/production-rag-contract.test.mjs @@ -276,7 +276,7 @@ test('all deployable LingxiLoop images use CI-managed unique tags', () => { 'deploy/komodo/lingxiloop-knowledge-agent/compose.yml', ].map(read).join('\n') const references = [...manifests.matchAll(/image:\s+\S*lingxiloop-[^:\s]+:([^\s]+)/g)] - assert.equal(references.length, 5) + assert.equal(references.length, 7) assert.ok(references.every((match) => /^[0-9a-f]{40}$/.test(match[1]))) assert.equal( updateImageTags(`image: registry/lingxiloop-server:${'a'.repeat(40)}`, 'b'.repeat(40), ['server']),