mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-12 09:41:11 +00:00
ci: repair plugin boundary artifact freshness
This commit is contained in:
@@ -18,6 +18,12 @@ const ROOT_DTS_INPUTS = [
|
||||
"src/video-generation/types.ts",
|
||||
"src/types",
|
||||
];
|
||||
const ROOT_DTS_OUTPUTS = [
|
||||
"dist/plugin-sdk/.tsbuildinfo",
|
||||
"dist/plugin-sdk/src/plugin-sdk/plugin-entry.d.ts",
|
||||
"dist/plugin-sdk/src/plugin-sdk/provider-auth.d.ts",
|
||||
"dist/plugin-sdk/src/plugin-sdk/video-generation.d.ts",
|
||||
];
|
||||
const PACKAGE_DTS_INPUTS = [
|
||||
"tsconfig.json",
|
||||
"packages/plugin-sdk/tsconfig.json",
|
||||
@@ -27,6 +33,12 @@ const PACKAGE_DTS_INPUTS = [
|
||||
"src/video-generation/types.ts",
|
||||
"src/types",
|
||||
];
|
||||
const PACKAGE_DTS_OUTPUTS = [
|
||||
"packages/plugin-sdk/dist/.tsbuildinfo",
|
||||
"packages/plugin-sdk/dist/src/plugin-sdk/plugin-entry.d.ts",
|
||||
"packages/plugin-sdk/dist/src/plugin-sdk/provider-auth.d.ts",
|
||||
"packages/plugin-sdk/dist/src/plugin-sdk/video-generation.d.ts",
|
||||
];
|
||||
const ENTRY_SHIMS_INPUTS = [
|
||||
"scripts/write-plugin-sdk-entry-dts.ts",
|
||||
"scripts/lib/plugin-sdk-entrypoints.json",
|
||||
@@ -103,6 +115,17 @@ export function isArtifactSetFresh(params) {
|
||||
return oldestOutputMtimeMs !== null && oldestOutputMtimeMs >= newestInputMtimeMs;
|
||||
}
|
||||
|
||||
function hasMissingOutput(paths) {
|
||||
return paths.some((relativePath) => !fs.existsSync(resolve(repoRoot, relativePath)));
|
||||
}
|
||||
|
||||
function removeIncrementalStateForMissingOutput(params) {
|
||||
if (!hasMissingOutput(params.outputPaths)) {
|
||||
return;
|
||||
}
|
||||
fs.rmSync(resolve(repoRoot, params.tsBuildInfoPath), { force: true });
|
||||
}
|
||||
|
||||
export function createPrefixedOutputWriter(label, target) {
|
||||
let buffered = "";
|
||||
const prefix = `[${label}] `;
|
||||
@@ -218,12 +241,12 @@ export async function main(argv = process.argv.slice(2)) {
|
||||
const mode = parseMode(argv);
|
||||
const rootDtsFresh = isArtifactSetFresh({
|
||||
inputPaths: ROOT_DTS_INPUTS,
|
||||
outputPaths: ["dist/plugin-sdk/.tsbuildinfo"],
|
||||
outputPaths: ROOT_DTS_OUTPUTS,
|
||||
includeFile: isRelevantTypeInput,
|
||||
});
|
||||
const packageDtsFresh = isArtifactSetFresh({
|
||||
inputPaths: PACKAGE_DTS_INPUTS,
|
||||
outputPaths: ["packages/plugin-sdk/dist/.tsbuildinfo"],
|
||||
outputPaths: PACKAGE_DTS_OUTPUTS,
|
||||
includeFile: isRelevantTypeInput,
|
||||
});
|
||||
const entryShimsFresh = isArtifactSetFresh({
|
||||
@@ -238,6 +261,10 @@ export async function main(argv = process.argv.slice(2)) {
|
||||
const pendingSteps = [];
|
||||
if (mode === "all") {
|
||||
if (!rootDtsFresh) {
|
||||
removeIncrementalStateForMissingOutput({
|
||||
outputPaths: ROOT_DTS_OUTPUTS,
|
||||
tsBuildInfoPath: "dist/plugin-sdk/.tsbuildinfo",
|
||||
});
|
||||
pendingSteps.push({
|
||||
label: "plugin-sdk boundary dts",
|
||||
args: [tscBin, "-p", "tsconfig.plugin-sdk.dts.json"],
|
||||
@@ -248,6 +275,10 @@ export async function main(argv = process.argv.slice(2)) {
|
||||
}
|
||||
}
|
||||
if (!packageDtsFresh) {
|
||||
removeIncrementalStateForMissingOutput({
|
||||
outputPaths: PACKAGE_DTS_OUTPUTS,
|
||||
tsBuildInfoPath: "packages/plugin-sdk/dist/.tsbuildinfo",
|
||||
});
|
||||
pendingSteps.push({
|
||||
label: "plugin-sdk package boundary dts",
|
||||
args: [tscBin, "-p", "packages/plugin-sdk/tsconfig.json"],
|
||||
|
||||
Reference in New Issue
Block a user