Commit graph

41 commits

Author SHA1 Message Date
Peter Steinberger
9491d5a5a3
refactor(scripts): deslop scripts/lib (#159362)
* refactor(scripts): deslop scripts/lib

Consolidate script lifecycle, scenario, planner, report, release and
packaging helpers while retaining CLI and publication contracts.

Keep config-boundary source caches within one scan so repeated in-process
checks observe edits. Carry extracted helpers through selective fixtures
and iOS scope routing. Leave PR tooling and its library import closure intact.

* fix(scripts): retain sanitizer fast path after helper cleanup

* fix(scripts): model watchdog shell consumer in dead-code checks
2026-09-27 17:13:58 -07:00
Vincent Koc
6670690552
fix(ci): check publication registries before FRV fanout (#147184)
* fix(ci): check publication registries before FRV fanout

* test(ci): align FRV registry admission workflow fixtures
2026-09-14 02:07:41 +08:00
Peter Steinberger
65c256a5c0
fix(release): make plugin harness pin freshness advisory (#136918)
Honor the release operator decision that a moving Codex npm latest must
not invalidate a release whose pinned harness passed release validation.
Remove the SHA-specific 2026.8.2 exception. Stale pins and unavailable
latest lookups warn in check logs, plan JSON, candidate evidence, and
plugin and parent release job summaries. Keep the declared dependencies
and exact tested pin unchanged.

Malformed or missing required runtime dependency metadata still errors.
Version floors, registry publication checks, package/install failures,
trusted publishing, and required validation lanes remain blocking.
Also read the candidate package count from the planners' canonical all field.

Proof: the live npm check passes for frozen 2026.9.1 metadata with Codex
0.152.1 pinned and npm latest 0.153.0. Three boundary regressions fail on
the original helper. Focused npm/candidate tests pass (161), sibling
ClawHub/workflow tests pass (432), and final aggregate warning tests pass
(9). Changed checks, workflow sanity, and independent review pass.
2026-09-02 20:42:32 -07:00
Peter Steinberger
a162944f54
improve(release): prepare publication artifacts during validation (#135639)
* perf(release): prepare publication artifacts during validation

* fix(release): scope npm registry environment restoration

* test(ci): align release artifact verification fixtures

Account for newly tracked artifact tests and internal workflow-only inputs. Keep synthetic runner timing checks independent of unrelated suite budgets. Reuse the catalog-row selector fix already landed in #135597.

* fix(release): preserve correction identity across prepared artifacts
2026-09-01 18:41:09 -07:00
Peter Steinberger
b754503dac
fix(release): publish frozen 2026.8.2 with approved Codex pin (#135246)
* fix(release): retain approved Codex pin for frozen 2026.8.2

* test(release): verify trusted plugin planning checkout

* test(release): retain workflow case tuple types
2026-09-01 07:49:05 -07:00
Vincent Koc
1da74794b6
fix(release): establish immutable release plan contract (#127008)
* fix(release): define immutable release plan contract

* fix(release): harden immutable plan authority

* fix(release): tighten release plan authority

* fix(release): share plugin publication authority

* fix(release): verify plan authority remotely

* fix(release): track ClawHub publication authorities

* fix(release): trust remote tooling tag identity

* fix(release): close plugin publication authority

* fix(release): align npm authority selection

* fix(release): bind plans to validation intent

* fix(release): require qualification cadence

* fix(release): reject lossy canonical values

* fix(release): narrow qualification cadence

* fix(release): bind plan parser dependency

* fix(release): add tagless diagnostic plans

* fix(release): attest release plan parser tree

* fix(release): isolate verified plan parser snapshot

* fix(release): verify plan tooling before execution
2026-08-21 11:24:22 -07:00
Peter Steinberger
c092900e3c
fix(plugins): keep OpenCode Go bundled (#120985)
* fix(plugins): keep OpenCode Go bundled

* fix(plugins): mark OpenCode Go dist bundled

* fix(docs): show OpenCode Go as bundled

* fix(release): defer bundled plugin publication
2026-08-09 03:09:47 -07:00
Dallin Romney
74cc99f2d1
fix(release): publish extended-stable Docker channels safely (#112494)
* fix(release): isolate extended-stable Docker aliases

* fix(release): harden Docker channel promotion

* docs(release): pin Docker policy into tagged tree

* refactor(release): isolate Docker channel promotion

* fix(release): queue Docker publications

* fix(release): harden docker channel promotion

* docs(release): tighten extended-stable guidance

* fix(release): promote Docker aliases after verification

* chore(release): format maintainer instructions

* refactor(release): separate release version policy

* docs(release): clarify extended-stable gateway scope

* fix(release): harden Docker channel promotion
2026-07-23 10:03:11 +09:00
xingzhou
59124313f4
fix(release): plugin npm preflight no longer hangs on stalled registries (#110862)
* fix(release): bound plugin npm freshness lookups

* fix(release): fail closed on npm view timeouts

* test(release): fix npm timeout mock types
2026-07-19 16:10:49 +08:00
Peter Steinberger
bae9752c5a
refactor(deadcode): enforce repository hard zero (#108641) 2026-07-15 22:40:00 -07:00
Peter Steinberger
e580275464
feat(tooling): enforce noUncheckedIndexedAccess in the scripts lane (NUIA phase 5) (#105180)
* feat(tooling): enforce noUncheckedIndexedAccess in the scripts lane

Burns down all 153 scripts-lane errors (bench aggregation, release
checks, i18n inventories, argv indexing) and flips the flag in
tsconfig.scripts.json. Direct-Node-executed release harness scripts use
local narrowing instead of workspace imports, which do not resolve
under plain node execution. Benchmark measured loops untouched.

* fix(scripts): import expect helpers via relative package sources

tsconfig path aliases resolve from cwd under tsx, so release wrapper
scripts running against old release target cwds could not resolve
@openclaw/normalization-core (not a linked root dependency). Relative
package-source imports match the established pattern on the adjacent
lines and are cwd-independent; old-target planning verified directly.
2026-07-12 10:17:00 +01:00
Peter Steinberger
2e2366b6d3
chore(tooling): typecheck scripts/** with a dedicated tsgo lane (#104348)
* feat(tooling): add tsgo typecheck lane for scripts/**

* fix(scripts): burn down scripts type debt surfaced by the new lane

Typing-only except bugs the lane surfaced: gh-read timeout race,
Discord Headers spread dropping entries, undefined allowedHeadBranches
match, plugin-boundary matchAll crash. Deletes retired config keys from
fixtures/benches (prompt snapshots regenerated, config dump only) and
the orphaned non-runnable sync-moonshot-docs script. Adds full-surface
.d.mts declarations for existing .mjs boundaries.
2026-07-11 02:31:17 -07:00
Vincent Koc
54cc90b1b1
fix(release): publish ClawHub bootstrap artifacts immutably (#103809)
* fix(release): harden ClawHub bootstrap

* fix(release): centralize publication artifact verification

* fix(release): harden publication artifact verification

* fix(release): lock ClawHub bootstrap toolchain

* test(release): assert locked ClawHub binary

* fix(release): pack with trusted ClawHub harness

* fix(release): bound beta verifier artifact reads

* fix(release): bind target and tooling identities

* fix(release): stabilize signed package ordering

* fix(release): bind ClawHub pretag proof

* fix(release): bind ClawHub OIDC readback

* fix(release): bind ClawHub OIDC readback
2026-07-10 13:33:20 -07:00
Vincent Koc
3bbc2732c0
refactor(deadcode): localize script helper types (#101917) 2026-07-07 16:59:51 -07:00
Vincent Koc
d563101a82
refactor(deadcode): localize test and tooling helpers (#101875) 2026-07-07 13:45:26 -07:00
Kevin Lin
9d2d517296
feat: publish plugins with extended-stable releases (#100448)
* feat(release): publish plugins on extended-stable

* feat(plugins): align extended-stable with core

* docs: explain extended-stable plugin alignment

* fix(release): make plugin convergence recoverable

* fix(plugins): preserve extended-stable fallback intent

* fix(release): keep plugin tag mutation credential-isolated
2026-07-05 16:16:26 -07:00
Jason (Json)
0221544190
fix(release): block stale Codex runtime pins (#100015)
Prevents opted-in plugin runtime dependencies from being published with stale
registry pins. The same freshness assertion now guards both npm and ClawHub
release paths, including the managed Codex runtime.

Prepared head SHA: d5d0ecba4b423503475d8861192a48d55b7ef873
Reviewed-by: @fuller-stack-dev

Closes #99951
2026-07-04 15:13:31 -06:00
Vincent Koc
cd69760628
fix(release): guard plugin release cli values 2026-06-20 03:34:41 +02:00
Vincent Koc
94833b2c90
fix(release): support ClawHub-only runtime builds
Some checks are pending
CI / check-additional-extension-channels (push) Blocked by required conditions
CI / check-additional-extension-package-boundary (push) Blocked by required conditions
CI / check-additional-runtime-topology-architecture (push) Blocked by required conditions
CI / check-session-accessor-boundary (push) Blocked by required conditions
CI / preflight (push) Waiting to run
CI / security-fast (push) Waiting to run
CI / pnpm-store-warmup (push) Blocked by required conditions
CI / check-docs (push) Blocked by required conditions
CI / skills-python (push) Blocked by required conditions
CI / -4 (push) Blocked by required conditions
CI / -5 (push) Blocked by required conditions
CI / macos-swift (push) Blocked by required conditions
CI / -6 (push) Blocked by required conditions
CI / ci-timings-summary (push) Blocked by required conditions
ClawSweeper Dispatch / dispatch (push) Waiting to run
CodeQL / Security High (actions) (push) Waiting to run
CodeQL / Security High (channel-runtime-boundary) (push) Waiting to run
CodeQL / Security High (core-auth-secrets) (push) Waiting to run
CodeQL / Security High (mcp-process-tool-boundary) (push) Waiting to run
CodeQL / Security High (network-ssrf-boundary) (push) Waiting to run
CodeQL / Security High (plugin-trust-boundary) (push) Waiting to run
Docs Sync Publish Repo / sync-publish-repo (push) Waiting to run
Docs / docs (push) Waiting to run
Plugin NPM Release / preview_plugins_npm (push) Waiting to run
Plugin NPM Release / Validate release publish approval (push) Blocked by required conditions
Plugin NPM Release / preview_plugin_pack (push) Blocked by required conditions
Plugin NPM Release / publish_plugins_npm (push) Blocked by required conditions
Workflow Sanity / no-tabs (push) Waiting to run
Workflow Sanity / actionlint (push) Waiting to run
Workflow Sanity / generated-doc-baselines (push) Waiting to run
2026-06-15 14:23:57 +08:00
Vincent Koc
5b18b7560e
fix(release): harden plugin package preflight 2026-06-15 14:23:57 +08:00
Vincent Koc
f5a7f613ee
fix(release): use monthly patch versions
Switch release train handling to YYYY.M.PATCH monthly patch numbering, preserve pre-transition compatibility, and pin the June 2026 stable/beta floor at 2026.6.5 after the published beta.

Verification:
- node scripts/run-vitest.mjs run test/appcast.test.ts test/release-check.test.ts test/scripts/package-mac-app.test.ts test/scripts/package-mac-dist.test.ts test/openclaw-npm-release-check.test.ts test/npm-publish-plan.test.ts src/infra/npm-registry-spec.test.ts src/infra/clawhub.test.ts src/plugins/clawhub.test.ts test/plugin-npm-release.test.ts test/scripts/ios-version.test.ts test/scripts/ios-pin-version.test.ts
- node --import tsx scripts/plugin-npm-release-check.ts --base-ref origin/main --head-ref HEAD
- node --import tsx scripts/plugin-clawhub-release-check.ts --base-ref origin/main --head-ref HEAD
- git diff --check origin/main...HEAD
- .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main --no-web-search
2026-06-06 12:26:32 -07:00
Peter Steinberger
b8d08f0cfd docs: document repository scripts 2026-06-04 20:52:50 -04:00
Peter Steinberger
f83886c12d
chore(lint): trim remaining suppressions 2026-05-31 13:01:19 +01:00
Peter Steinberger
00d8d7ead0
refactor: extract normalization core package
Extract shared normalization/coercion helpers into private @openclaw/normalization-core workspace package while preserving existing plugin SDK helper subpaths.\n\nAlso keeps direct normalization-core imports internal, wires UI/build/loader resolution, and replaces the slow PR network CodeQL lane with a fast added-line boundary scan while retaining full CodeQL for scheduled/manual runs.\n\nVerification: local moved tests, plugin SDK boundary tests, extension loader tests, agents-support shard, UI build/test, build artifacts, lint, workflow guards, autoreview, and GitHub CI passed on PR head 963d893715.
2026-05-31 01:33:00 +01:00
Vincent Koc
dea6207dd1
fix(plugins): require npm package compatibility metadata 2026-05-16 03:08:42 +08:00
Peter Steinberger
bb294bcd20
feat: support alpha releases 2026-05-02 18:29:13 +01:00
Peter Steinberger
010f7a58a1
build(plugins): externalize acpx release packages 2026-05-02 08:48:28 +01:00
Peter Steinberger
f9e6fb8692
refactor: hide plugin release probes 2026-05-02 07:45:06 +01:00
Peter Steinberger
632b9f697e
test: require plugin npm provenance repository 2026-05-02 00:48:49 +01:00
Peter Steinberger
d09395dc04
fix: keep plugin release previews scoped 2026-05-02 00:23:42 +01:00
Peter Steinberger
543b248c5a
build: prepare twitch plugin beta release 2026-05-02 00:11:21 +01:00
Peter Steinberger
4fa961d4f1
refactor(lint): enable map spread rule 2026-04-18 20:37:12 +01:00
Peter Steinberger
df525b90f2
chore(lint): enable unnecessary type parameter rule 2026-04-18 18:31:13 +01:00
Vincent Koc
45542fa726 fix(test): stabilize windows tooling assertions 2026-04-08 09:12:08 +01:00
Peter Steinberger
424b65b697
refactor: dedupe bluebubbles and zalouser readers 2026-04-07 08:40:34 +01:00
Peter Steinberger
a4223f836d
refactor: dedupe plugin release package scanning 2026-04-06 17:56:41 +01:00
Peter Steinberger
d25491aa6d
refactor: dedupe release git range helpers 2026-04-06 17:18:36 +01:00
Peter Steinberger
209535b7c7
build: make npm release tag configurable 2026-04-02 19:06:37 +01:00
Peter Steinberger
d9274444b7
fix: keep beta on newer prereleases 2026-03-30 05:37:01 +09:00
Peter Steinberger
9334015262
fix: ship bundled plugin runtime sidecars 2026-03-23 17:38:08 -07:00
Onur Solmaz
d41c9ad4cb
Release: add plugin npm publish workflow (#47678)
* Release: add plugin npm publish workflow

* Release: make plugin publish scope explicit
2026-03-18 13:44:23 +01:00