Files
openclaw/scripts/ci-changed-scope.d.mts
Peter Steinberger 458746e1c2 chore(ci): enforce changed-file TypeScript LOC ratchet (#106387)
* ci: enforce changed-file TypeScript LOC ratchet

* ci: derive release-gate LOC base from PR

* test(ci): exclude repository test helpers from LOC ratchet

* ci: validate LOC ratchet on PR merge tree

* style: format release maintainer skill

* ci: run LOC ratchet for fast-only changes

* fix(ci): harden LOC ratchet comparisons

* fix(ci): cover native TypeScript in LOC ratchet

* fix(ci): compare LOC against tested merge tree

* test(ci): cover LOC manifest routing
2026-07-13 07:20:32 -07:00

51 lines
1.3 KiB
TypeScript

export type ChangedScope = {
runNode: boolean;
runMacos: boolean;
runIosBuild: boolean;
runAndroid: boolean;
runWindows: boolean;
runSkillsPython: boolean;
runChangedSmoke: boolean;
runControlUiI18n: boolean;
runUiTests: boolean;
};
export type InstallSmokeScope = {
runFastInstallSmoke: boolean;
runFullInstallSmoke: boolean;
};
export type NodeFastScope = {
runFastOnly: boolean;
runPluginContracts: boolean;
runCiRouting: boolean;
};
export type ChangedScopeArgs = {
base: string;
head: string;
mergeHeadFirstParent: boolean;
};
export function detectChangedScope(changedPaths: string[]): ChangedScope;
export function shouldRunNativeI18n(changedPaths: string[]): boolean;
export function shouldRunTsLoc(changedPaths: string[]): boolean;
export function detectNodeFastScope(changedPaths: string[]): NodeFastScope;
export function detectInstallSmokeScope(changedPaths: string[]): InstallSmokeScope;
export function listChangedPaths(
base: string,
head?: string,
cwd?: string,
preferMergeHeadFirstParent?: boolean,
): string[];
export function writeGitHubOutput(
scope: ChangedScope,
outputPath?: string,
installSmokeScope?: InstallSmokeScope,
nodeFastScope?: NodeFastScope,
runNativeI18n?: boolean,
runTsLoc?: boolean,
): void;
export function parseArgs(argv: string[]): ChangedScopeArgs;