mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
fix(release): accept complete core tarball manifests (#112813)
* fix(release): consume complete core tarball manifest * fix(release): declare core tarball selector
This commit is contained in:
committed by
GitHub
parent
8ef067a216
commit
79d4e4a3ad
@@ -185,6 +185,15 @@ export function requireRunIdFromDispatchOutput(output: unknown, workflowFile: un
|
||||
*/
|
||||
export function buildPublishCommand(options: unknown): string;
|
||||
export function validatePreflightManifest(manifest: unknown, params: unknown): void;
|
||||
export function preflightCorePackageTarballs(manifest: {
|
||||
corePackageTarballs?: unknown;
|
||||
dependencyTarballs?: unknown;
|
||||
}): Array<{
|
||||
packageName: string;
|
||||
packageVersion: string;
|
||||
tarballName: string;
|
||||
tarballSha256: string;
|
||||
}>;
|
||||
export function validateFullManifest(manifest: unknown, params: unknown): void;
|
||||
export function validateTrustedToolingPin({
|
||||
toolingSha,
|
||||
|
||||
@@ -1200,10 +1200,7 @@ export function validatePreflightManifest(manifest, params) {
|
||||
if (!manifest.tarballName || !manifest.tarballSha256) {
|
||||
throw new Error("npm preflight manifest missing tarball metadata");
|
||||
}
|
||||
if (!Array.isArray(manifest.dependencyTarballs)) {
|
||||
throw new Error("npm preflight manifest missing dependency tarball metadata");
|
||||
}
|
||||
for (const dependency of manifest.dependencyTarballs) {
|
||||
for (const dependency of preflightCorePackageTarballs(manifest)) {
|
||||
if (
|
||||
!dependency?.packageName ||
|
||||
!dependency.packageVersion ||
|
||||
@@ -1216,6 +1213,17 @@ export function validatePreflightManifest(manifest, params) {
|
||||
}
|
||||
}
|
||||
|
||||
export function preflightCorePackageTarballs(manifest) {
|
||||
const hasCorePackageTarballs = Object.hasOwn(manifest, "corePackageTarballs");
|
||||
const tarballs = hasCorePackageTarballs
|
||||
? manifest.corePackageTarballs
|
||||
: manifest.dependencyTarballs;
|
||||
if (!Array.isArray(tarballs)) {
|
||||
throw new Error("npm preflight manifest missing dependency tarball metadata");
|
||||
}
|
||||
return tarballs;
|
||||
}
|
||||
|
||||
export function validateFullManifest(manifest, params) {
|
||||
if (manifest.workflowName !== "Full Release Validation") {
|
||||
throw new Error(`full validation workflow mismatch: ${manifest.workflowName}`);
|
||||
@@ -1534,7 +1542,7 @@ async function main() {
|
||||
`prepared tarball digest mismatch: expected ${npmManifest.tarballSha256}, got ${actualTarballSha}`,
|
||||
);
|
||||
}
|
||||
const dependencyTarballPaths = npmManifest.dependencyTarballs.map((dependency) => {
|
||||
const dependencyTarballPaths = preflightCorePackageTarballs(npmManifest).map((dependency) => {
|
||||
const dependencyPath = join(npmDir, dependency.tarballName);
|
||||
if (!existsSync(dependencyPath)) {
|
||||
throw new Error(`prepared dependency tarball missing: ${dependencyPath}`);
|
||||
|
||||
Reference in New Issue
Block a user