Skip to content

Commit 36e54a8

Browse files
committed
fix(ci): unblock Kova packs during release prep
1 parent 9e2aed2 commit 36e54a8

2 files changed

Lines changed: 26 additions & 2 deletions

File tree

scripts/ocm-npm-workspace-deps.mjs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { pathToFileURL } from "node:url";
88

99
const WORKSPACE_DIRS_ENV = "OPENCLAW_OCM_WORKSPACE_DEPENDENCY_DIRS";
1010
const REAL_NPM_ENV = "OPENCLAW_OCM_REAL_NPM_BIN";
11+
const ALLOW_UNRELEASED_CHANGELOG_ENV = "OPENCLAW_PREPACK_ALLOW_UNRELEASED_CHANGELOG";
1112

1213
export function parseWorkspaceDependencyDirs(
1314
raw = process.env[WORKSPACE_DIRS_ENV],
@@ -55,15 +56,25 @@ export function buildInstallManifest(rootArchive, workspacePackages) {
5556

5657
function runNpm(npm, args, options = {}) {
5758
const result = spawnSync(npm, args, {
58-
...options,
5959
env: process.env,
60+
...options,
6061
});
6162
if (result.error) {
6263
throw result.error;
6364
}
6465
return result;
6566
}
6667

68+
export function resolveNpmEnvironment(args, env = process.env) {
69+
if (args[0] !== "pack") {
70+
return env;
71+
}
72+
return {
73+
...env,
74+
[ALLOW_UNRELEASED_CHANGELOG_ENV]: "1",
75+
};
76+
}
77+
6778
function runTar(args) {
6879
const result = spawnSync("tar", args, {
6980
env: process.env,
@@ -162,7 +173,10 @@ function main() {
162173
const workspaceDirs = parseWorkspaceDependencyDirs();
163174
const plan = resolveWorkspaceInstallPlan(args, workspaceDirs);
164175
if (!plan) {
165-
const result = runNpm(npm, args, { stdio: "inherit" });
176+
const result = runNpm(npm, args, {
177+
env: resolveNpmEnvironment(args),
178+
stdio: "inherit",
179+
});
166180
return result.status ?? 1;
167181
}
168182

test/scripts/ocm-npm-workspace-deps.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { describe, expect, it } from "vitest";
77
import {
88
buildInstallManifest,
99
parseWorkspaceDependencyDirs,
10+
resolveNpmEnvironment,
1011
resolveWorkspaceInstallPlan,
1112
rewriteWorkspaceDependencyVersions,
1213
} from "../../scripts/ocm-npm-workspace-deps.mjs";
@@ -16,6 +17,15 @@ const adapterPath = fileURLToPath(
1617
);
1718

1819
describe("OCM npm workspace dependency adapter", () => {
20+
it("allows Unreleased notes only for non-publishing pack commands", () => {
21+
const env = { KEEP: "value" };
22+
expect(resolveNpmEnvironment(["install"], env)).toBe(env);
23+
expect(resolveNpmEnvironment(["pack", "--silent"], env)).toEqual({
24+
KEEP: "value",
25+
OPENCLAW_PREPACK_ALLOW_UNRELEASED_CHANGELOG: "1",
26+
});
27+
});
28+
1929
it("resolves workspace package directories", () => {
2030
expect(
2131
parseWorkspaceDependencyDirs(["packages/ai", "extensions/example"].join(delimiter), "/repo"),

0 commit comments

Comments
 (0)