openclaw/scripts/lib/plugin-publication-target.mjs
Peter Steinberger 820f2a778f
feat(release): prepare npm and ClawHub for one-button publication (#136466)
* feat(release): prepare npm and ClawHub for one-button publication

Stage complete plugin inventories in non-publishing owner workflows and
publish the original tarballs through the existing protected npm and
ClawHub publishers from one readiness receipt.

Bind source, tooling, producer attempts, and artifact digests. Require
established ClawHub publishers before readiness, verify every prepared
package before writers, and activate GitHub visibility only after exact
parent and canonical registry readback checks.

Share bounded artifact download recovery and verified archive reuse.
Retain partial dispatch requests, support explicit preparation adoption
and the existing successful-core resume path, and never blindly repeat
an uncertain registry mutation. Document native/platform boundaries and
the existing failed-core-child reconciliation limit.

Refs #136392

* fix(release): preserve prepared npm qualification

* fix(ci): retain postpublish diagnostics when verification fails (#142938)

* fix(ci): retain postpublish diagnostics when verification fails

* fix(ci): invoke publication diagnostics through guarded entrypoint

* fix(release): preserve prepared npm qualification

(cherry picked from commit a9eb4c8371069a1d14466d22d934a0cf8ad6b4f6)

* fix(ci): block cancelled plugin npm publication

* fix(release): scope artifact deadlines per phase

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-09-10 13:59:14 +09:00

9 lines
380 B
JavaScript

/** The source manifest owns publication eligibility, including bundled-only deferral. */
export function isPluginPublicationEnabled(packageJson, target) {
return (
packageJson.openclaw?.build?.bundledDist !== true &&
(target === "npm"
? packageJson.openclaw?.release?.publishToNpm === true
: packageJson.openclaw?.release?.publishToClawHub === true)
);
}