From 592277cd77de5cff5fe0fb47dfddfe070f57e680 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 29 May 2026 01:13:10 +0100 Subject: [PATCH] ci(release): bound cross-os baseline packing --- .../workflows/openclaw-cross-os-release-checks-reusable.yml | 2 +- test/scripts/openclaw-cross-os-release-workflow.test.ts | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/openclaw-cross-os-release-checks-reusable.yml b/.github/workflows/openclaw-cross-os-release-checks-reusable.yml index d56492a5151..9b6282018d0 100644 --- a/.github/workflows/openclaw-cross-os-release-checks-reusable.yml +++ b/.github/workflows/openclaw-cross-os-release-checks-reusable.yml @@ -451,7 +451,7 @@ jobs: OUTPUT_DIR: ${{ runner.temp }}/openclaw-cross-os-release-checks/prepare/baseline run: | mkdir -p "${OUTPUT_DIR}" - npm pack --ignore-scripts --json "${BASELINE_SPEC}" --pack-destination "${OUTPUT_DIR}" > "${OUTPUT_DIR}/pack.json" + timeout --preserve-status 300s npm pack --ignore-scripts --json "${BASELINE_SPEC}" --pack-destination "${OUTPUT_DIR}" > "${OUTPUT_DIR}/pack.json" - name: Capture candidate metadata id: candidate_metadata diff --git a/test/scripts/openclaw-cross-os-release-workflow.test.ts b/test/scripts/openclaw-cross-os-release-workflow.test.ts index 0f8f196ba64..e100d102547 100644 --- a/test/scripts/openclaw-cross-os-release-workflow.test.ts +++ b/test/scripts/openclaw-cross-os-release-workflow.test.ts @@ -15,6 +15,12 @@ describe("cross-OS release checks workflow", () => { expect(workflow).not.toContain('pnpm dlx "tsx@${TSX_VERSION}"'); }); + it("bounds npm baseline packing during prepare", () => { + const workflow = readFileSync(WORKFLOW_PATH, "utf8"); + + expect(workflow).toContain("timeout --preserve-status 300s npm pack --ignore-scripts"); + }); + it("uses Windows-safe npm resolution for the TypeScript loader bootstrap", () => { const wrapper = readFileSync(WRAPPER_PATH, "utf8");