Skip to content

Commit 5e94469

Browse files
committed
fix(scripts): dedupe docker lane resources
1 parent 9a60fcf commit 5e94469

3 files changed

Lines changed: 19 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Docs: https://docs.openclaw.ai
1919
- Slack: keep downloaded read-only files out of reply media so Slack file reads do not echo files back to the conversation. (#86318) Thanks @neeravmakwana.
2020
- Cron: accept leading-plus relative durations such as `+5m` for one-shot `--at` schedules. (#86341) Thanks @mushuiyu886.
2121
- Agents/media: preserve async-started media tool metadata so background generation starts no longer surface generic incomplete-turn warnings while replay stays unsafe. (#85933) Thanks @fuller-stack-dev.
22+
- Docker E2E: dedupe scheduler lane resources so npm/service package lanes are not over-counted and serialized unnecessarily.
2223
- xAI/LM Studio: avoid buffering ordinary bracketed or `final` prose until stream completion while watching for plain-text tool-call fallbacks.
2324
- Discord: suppress a bot's previous reply body and referenced media from prompt context when a user replies to that bot message, while keeping reply metadata for routing. (#86238) Thanks @fuller-stack-dev.
2425
- Docker E2E: avoid rebuilding the Control UI twice while preparing the shared OpenClaw package tarball for package-backed scenario runs.

scripts/lib/docker-e2e-plan.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ export function laneWeight(poolLane) {
290290
}
291291

292292
export function laneResources(poolLane) {
293-
return ["docker", ...(poolLane.resources ?? [])];
293+
return [...new Set(["docker", ...(poolLane.resources ?? [])])];
294294
}
295295

296296
export function laneSummary(poolLane) {

test/scripts/docker-e2e-plan.test.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -771,6 +771,23 @@ describe("scripts/lib/docker-e2e-plan", () => {
771771
expect(plan.needs.package).toBe(true);
772772
});
773773

774+
it("dedupes scheduler resources from lane wrappers and explicit lane metadata", () => {
775+
const plan = planFor({
776+
selectedLaneNames: ["release-user-journey", "release-plugin-marketplace"],
777+
});
778+
779+
expect(plan.lanes.map((lane) => ({ name: lane.name, resources: lane.resources }))).toEqual([
780+
{
781+
name: "release-user-journey",
782+
resources: ["docker", "npm", "service"],
783+
},
784+
{
785+
name: "release-plugin-marketplace",
786+
resources: ["docker", "npm"],
787+
},
788+
]);
789+
});
790+
774791
it("plans the Droid ACP bind live lane as Factory-auth proof", () => {
775792
const plan = planFor({ selectedLaneNames: ["live-acp-bind-droid"] });
776793

0 commit comments

Comments
 (0)