ci: skip bundled dts in artifact build · openclaw/openclaw@0e6937c
steipete
·
2026-05-30
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -156,6 +156,14 @@ export const BUILD_ALL_PROFILES = {
|
156 | 156 | ], |
157 | 157 | }; |
158 | 158 | |
| 159 | +export const BUILD_ALL_PROFILE_STEP_ENV = { |
| 160 | +ciArtifacts: { |
| 161 | +tsdown: { |
| 162 | +OPENCLAW_RUN_NODE_SKIP_DTS_BUILD: "1", |
| 163 | +}, |
| 164 | +}, |
| 165 | +}; |
| 166 | + |
159 | 167 | export function resolveBuildAllSteps(profile = "full") { |
160 | 168 | const labels = BUILD_ALL_PROFILES[profile]; |
161 | 169 | if (!labels) { |
@@ -166,19 +174,24 @@ export function resolveBuildAllSteps(profile = "full") {
|
166 | 174 | const missing = labels.filter((label) => !BUILD_ALL_STEPS.some((step) => step.label === label)); |
167 | 175 | throw new Error(`Build profile ${profile} references unknown steps: ${missing.join(", ")}`); |
168 | 176 | } |
169 | | -return selected; |
| 177 | +const envOverrides = BUILD_ALL_PROFILE_STEP_ENV[profile] ?? {}; |
| 178 | +return selected.map((step) => { |
| 179 | +const env = envOverrides[step.label]; |
| 180 | +return env ? { ...step, env: { ...(step.env ?? {}), ...env } } : step; |
| 181 | +}); |
170 | 182 | } |
171 | 183 | |
172 | 184 | function resolveStepEnv(step, env, platform) { |
| 185 | +const stepEnv = step.env ? { ...env, ...step.env } : env; |
173 | 186 | if (platform !== "win32" || !step.windowsNodeOptions) { |
174 | | -return env; |
| 187 | +return stepEnv; |
175 | 188 | } |
176 | | -const currentNodeOptions = env.NODE_OPTIONS?.trim() ?? ""; |
| 189 | +const currentNodeOptions = stepEnv.NODE_OPTIONS?.trim() ?? ""; |
177 | 190 | if (currentNodeOptions.includes(step.windowsNodeOptions)) { |
178 | | -return env; |
| 191 | +return stepEnv; |
179 | 192 | } |
180 | 193 | return { |
181 | | - ...env, |
| 194 | + ...stepEnv, |
182 | 195 | NODE_OPTIONS: currentNodeOptions |
183 | 196 | ? `${currentNodeOptions} ${step.windowsNodeOptions}` |
184 | 197 | : step.windowsNodeOptions, |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -4,6 +4,7 @@ import path from "node:path";
|
4 | 4 | import { describe, expect, it } from "vitest"; |
5 | 5 | import { |
6 | 6 | BUILD_ALL_PROFILES, |
| 7 | +BUILD_ALL_PROFILE_STEP_ENV, |
7 | 8 | BUILD_ALL_STEPS, |
8 | 9 | formatBuildAllDuration, |
9 | 10 | formatBuildAllTimingSummary, |
@@ -195,6 +196,19 @@ describe("resolveBuildAllSteps", () => {
|
195 | 196 | ]); |
196 | 197 | }); |
197 | 198 | |
| 199 | +it("skips bundled tsdown declarations for CI artifacts", () => { |
| 200 | +const tsdown = resolveBuildAllSteps("ciArtifacts").find((step) => step.label === "tsdown"); |
| 201 | + |
| 202 | +expect(BUILD_ALL_PROFILE_STEP_ENV.ciArtifacts.tsdown).toEqual({ |
| 203 | +OPENCLAW_RUN_NODE_SKIP_DTS_BUILD: "1", |
| 204 | +}); |
| 205 | +expect( |
| 206 | +resolveBuildAllStep(tsdown!, { env: { OPENCLAW_RUN_NODE_SKIP_DTS_BUILD: "0" } }).options.env, |
| 207 | +).toMatchObject({ |
| 208 | +OPENCLAW_RUN_NODE_SKIP_DTS_BUILD: "1", |
| 209 | +}); |
| 210 | +}); |
| 211 | + |
198 | 212 | it("uses a minimal built runtime profile for gateway watch regression", () => { |
199 | 213 | expect(resolveBuildAllSteps("gatewayWatch").map((step) => step.label)).toEqual([ |
200 | 214 | "tsdown", |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。