mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 21:07:01 -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
@@ -3187,6 +3187,8 @@ describe("package artifact reuse", () => {
|
||||
'candidate_manifest="${package_dir}/package-candidate.json"',
|
||||
'find "${package_dir}" -type f -name "*.tgz"',
|
||||
"package artifact manifest contains duplicate package metadata",
|
||||
"Array.isArray(manifest.corePackageTarballs)",
|
||||
"manifest.corePackageTarballs === undefined",
|
||||
"package artifact tarball set does not match preflight manifest",
|
||||
"package candidate manifest does not match the OpenClaw tarball",
|
||||
"Package Telegram artifact SHA-256 differs from package_sha256.",
|
||||
|
||||
@@ -14,6 +14,7 @@ import {
|
||||
isDirectReleaseCandidateExecution,
|
||||
parseArgs,
|
||||
parseRunIdFromDispatchOutput,
|
||||
preflightCorePackageTarballs,
|
||||
reconcileReleaseCandidateState,
|
||||
releaseBranchForTag,
|
||||
resolveArtifactName,
|
||||
@@ -589,6 +590,37 @@ describe("release candidate checklist", () => {
|
||||
).toThrow("invalid dependency tarball metadata");
|
||||
});
|
||||
|
||||
it("prefers the complete core package tarball set with legacy manifest fallback", () => {
|
||||
const legacyTarball = {
|
||||
packageName: "@openclaw/ai",
|
||||
packageVersion: "2026.7.1-beta.3",
|
||||
tarballName: "openclaw-ai-2026.7.1-beta.3.tgz",
|
||||
tarballSha256: "ai-sha",
|
||||
};
|
||||
const gatewayProtocolTarball = {
|
||||
packageName: "@openclaw/gateway-protocol",
|
||||
packageVersion: "2026.7.1-beta.3",
|
||||
tarballName: "openclaw-gateway-protocol-2026.7.1-beta.3.tgz",
|
||||
tarballSha256: "protocol-sha",
|
||||
};
|
||||
|
||||
expect(
|
||||
preflightCorePackageTarballs({
|
||||
corePackageTarballs: [legacyTarball, gatewayProtocolTarball],
|
||||
dependencyTarballs: [legacyTarball],
|
||||
}),
|
||||
).toEqual([legacyTarball, gatewayProtocolTarball]);
|
||||
expect(preflightCorePackageTarballs({ dependencyTarballs: [legacyTarball] })).toEqual([
|
||||
legacyTarball,
|
||||
]);
|
||||
expect(() =>
|
||||
preflightCorePackageTarballs({
|
||||
corePackageTarballs: null,
|
||||
dependencyTarballs: [legacyTarball],
|
||||
}),
|
||||
).toThrow("missing dependency tarball metadata");
|
||||
});
|
||||
|
||||
it("trusts the npm workflow SHA while binding the candidate through its manifest", () => {
|
||||
const workflowSha = "a".repeat(40);
|
||||
const isTrustedWorkflowAncestor = vi.fn(() => true);
|
||||
|
||||
Reference in New Issue
Block a user