Peter Steinberger
06e3a09bd8
fix(ci): preserve advisory release checks
2026-07-16 11:56:01 +01:00
Peter Steinberger
e0ffbd90d9
fix(ci): isolate bounded metadata retries ( #108804 )
...
* fix(ci): bound Mantis runner IP retries
* fix(e2e): isolate Windows metadata retries
* fix(ci): validate complete runner IPv4
Co-authored-by: Alix-007 <li.long15@xydigit.com >
---------
Co-authored-by: Alix-007 <li.long15@xydigit.com >
2026-07-16 03:39:31 -07:00
Peter Steinberger
b6b8e59b9e
refactor(ci): share Android toolchain setup ( #108855 )
...
* refactor(ci): share Android toolchain setup
* fix(ci): preserve frozen Android targets
2026-07-16 03:38:31 -07:00
Peter Steinberger
2c7cf8d745
perf(ci): scale Vitest workers with runner class and share serial module cache ( #108788 )
...
* perf(ci): scale Vitest workers with runner class and share serial module cache
Compact node-test jobs pinned OPENCLAW_VITEST_MAX_WORKERS=2 regardless of
runner size, so import-bound suites (30-45s of module-graph import per
file) crawled: runner-cli spent 284s on 5s of tests, commands-1 296s on
10s. With serial plans the budget now scales with the class (6 on 8vcpu,
3 on 4vcpu); timing-sensitive groups (tooling, tui-pty, infra-process)
stay pinned to 2 via plan-level env. Serial bins share one Vitest
fs-module-cache path so later plans reuse the first plan's transforms.
The import-bound commands stripes and security suite move to the 8vcpu
class, and packing hints refresh from serial-run measurements (run
29481835688).
* perf(ci): stripe cli-runner suite and pin media-ui worker budget
The agents-core config runs files serially (fileParallelism false guards
shared module state), so raising the worker budget cannot help its
import-heavy cli-runner suite (~35s module import per file, 213s serial).
Stripe it three ways so bins parallelize the imports instead. media-ui
hosts browser locator tests that timed out at 6 workers on the first
validation run; pin it to the proven 2-worker budget. commands-1's hint
drops to its measured 6-worker runtime.
2026-07-16 03:36:37 -07:00
Alix-007
de10d98c81
fix(e2e): bound OpenShell installer fetch ( #108810 )
2026-07-16 03:27:03 -07:00
Peter Steinberger
76a236da5f
fix(ci): harden release validation gates ( #108798 )
...
* fix(ci): harden release validation gates
* fix(apns): keep tombstones in strict SQLite schema
* fix(ci): isolate PR publication transport
2026-07-16 03:21:08 -07:00
Peter Steinberger
57ae43a89c
fix(ci): harden full release validation
2026-07-16 10:26:29 +01:00
Alix-007
47dd90c5ea
fix(ci): bound Android SDK downloads ( #108723 )
2026-07-16 02:12:07 -07:00
Alix-007
5cd9243465
fix(ci): bound Windows Testbox phone-home requests ( #108755 )
2026-07-16 01:57:53 -07:00
Alix-007
8a21f640e3
fix(ci): bound release resume tarball downloads ( #108766 )
2026-07-16 01:54:50 -07:00
Alix-007
ea3ac194f4
fix(ci): bound Mantis runner IP discovery ( #108699 )
2026-07-16 01:50:22 -07:00
Alix-007
0b7f4ccb72
fix(ci): bound Telegram QA OIDC requests ( #108701 )
2026-07-16 01:49:15 -07:00
Peter Steinberger
f460c2871a
feat(linux): add signed auto-updater to the Tauri companion app ( #108770 )
...
Sparkle-parity self-update for the apps/linux companion: tauri-plugin-updater +
process, checked silently on launch and from a "Check for Updates" tray item /
manual trigger. AppImage installs download, verify the signed update, and wait
for a user-confirmed restart; package-managed (deb) installs get a release-page
notice instead of replacing files the system package manager owns. The
linux-app release workflow signs the AppImage and publishes a signed latest.json
manifest that the app verifies with the committed minisign public key.
2026-07-16 01:48:08 -07:00
Alix-007
cc58940993
fix(ci): bound Windows WSL rootfs downloads ( #108743 )
2026-07-16 01:47:37 -07:00
Alix-007
00ff4e8b84
fix(ci): bound OCM asset transfers ( #108700 )
2026-07-16 01:44:53 -07:00
Alix-007
e0394c2ab4
fix(ci): bound native tool downloads ( #108685 )
...
* fix(ci): bound native tool downloads
* fix(ci): bound historical SwiftFormat downloads
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 01:44:30 -07:00
Peter Steinberger
a7d5386896
improve: speed up ring-zero QA smoke ( #108694 )
...
* ci: speed up ring-zero QA smoke
* ci: scope QA sticky cache to Docker lane
* ci: keep QA dependency setup on actions cache
* test: restore modern Docker QA proof
2026-07-16 01:12:40 -07:00
Alix-007
3912cf38b9
fix(ci): bound workflow ShellCheck download ( #108672 )
2026-07-16 00:56:27 -07:00
Sash Zats
0960d07d8e
ci: gate PR edit automation by changed field ( #95010 )
...
* ci: gate PR edit automation by changed field
* ci: include title edits in ClawSweeper dispatch gate
* ci: refine PR edit automation gates
Co-authored-by: Sash Zats <sash@zats.io >
* test(ci): require boolean workflow matcher
Co-authored-by: Sash Zats <sash@zats.io >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 00:42:14 -07:00
Alix-007
98fc55ca96
fix(ci): bound performance gateway health probes ( #108621 )
2026-07-15 22:59:18 -07:00
Peter Steinberger
a6125b7868
perf(ci): split QA smoke into four profile parts and time tsdown invocations ( #108638 )
2026-07-15 22:41:02 -07:00
Dallin Romney
401e7b003c
fix(release): support frozen pre-AI package targets ( #108479 )
2026-07-15 15:49:27 -07:00
Peter Steinberger
6252f9b1f7
improve(ci): speed warm Node shards with sticky bind mount ( #108386 )
...
* perf(ci): bind sticky dependency disk into test shards
* chore(ci): restore workflow guard coverage
* perf(ci): skip pnpm install on exact sticky hits
* fix(ci): require stock layout for sticky dependencies
* perf(ci): bypass pnpm for test shard launches
* fix(ci): declare direct shard runner command
* fix(ci): bypass pnpm in warm shard builds
* fix(ci): invalidate sticky deps on pnpm config
* ci: document sticky failure guard
2026-07-15 15:41:24 -07:00
Dallin Romney
ca45a784f3
docs: align QA transport and release workflow contracts ( #108463 )
...
* docs: align QA transport workflow contracts
* docs: clarify Mantis env credentials
2026-07-15 14:51:37 -07:00
Dallin Romney
af71400c8e
refactor(qa): route live channel selectors through suite host ( #108429 )
...
* refactor(qa): route live channel selectors through suite host
* fix(qa): repair live selector CI
* fix(qa): remove retired runner exports
* fix(qa): remove obsolete live evidence
2026-07-15 13:35:34 -07:00
Peter Steinberger
28d30e9dae
ci: stabilize release validation tests ( #108420 )
...
* test(codex): remove turn-watch timing race
* ci: pin workflow sanity shellcheck
* ci: run workflow sanity on blacksmith
* ci: serialize workflow sanity lint
* ci: bound workflow lint stalls
* ci: cap actionlint process fanout
* ci: report stalled workflow shellcheck
* ci: stabilize release validation checks
* ci: restore release workflow shellcheck
* test: preserve codex turn watch reset proof
2026-07-15 13:22:31 -07:00
Dallin Romney
8c77936e50
fix(release): propagate frozen-target guard and retry live timeouts ( #108418 )
...
* fix(release): preserve frozen package acceptance opt-in
* fix(release): retry transient live terminal timeouts
* fix(release): keep package dispatch input budget
* refactor(release): name frozen-target compatibility mode
* revert: keep frozen-target guard naming
2026-07-15 13:06:24 -07:00
Dallin Romney
77d07dc3e9
refactor(qa): migrate Telegram scenarios into QA Lab ( #108430 )
...
* refactor(qa): migrate Telegram scenarios into QA Lab
* refactor(qa): remove retired Telegram runner exports
2026-07-15 12:55:00 -07:00
Peter Steinberger
e3296c0574
ci: restore workflow sanity and ClawHub shard ( #108437 )
...
* ci: stop actionlint from re-running shellcheck
* test: make ClawHub error-body checks retry-safe
2026-07-15 12:39:54 -07:00
Peter Steinberger
d8b3e1c093
fix(release): compare evidence archive contents
2026-07-15 20:38:57 +01:00
Peter Steinberger
23d2f664fb
fix(release): retain npm provenance evidence
2026-07-15 20:02:53 +01:00
Peter Steinberger
f4f5bb15d4
fix(release): verify resumed npm publisher identity
2026-07-15 19:29:37 +01:00
Dallin Romney
ee51b35616
fix(release): support frozen Codex validation ( #108343 )
...
* fix(release): support frozen Codex validation
* fix(release): support frozen Codex validation
* fix(release): support frozen Codex validation
* fix(release): support frozen Codex validation
2026-07-15 10:05:02 -07:00
Peter Steinberger
0f7fbfa003
fix(release): bind bootstrap publish workflow identity
2026-07-15 17:41:54 +01:00
Peter Steinberger
4c667aac88
fix(release): harden frozen target validation ( #108296 )
...
* fix(release): harden frozen scenario planning
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
* fix(release): omit unsupported scenario-only lanes
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
* fix(release): fail closed on malformed target scenarios
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
* fix(release): report unsupported frozen lanes
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
* fix(release): defer frozen survivor inspection
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
* fix(release): report partial survivor omissions
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
* fix(ci): fetch shard fallback from workflow commit
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
* fix(release): gate frozen scenario omissions
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
* test(release): auto-clean frozen target temp dirs
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
* fix(ci): satisfy frozen validation workflow lint
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
---------
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-07-15 06:31:07 -07:00
Dallin Romney
ed05dae2d8
fix(release): support frozen Matrix QA profiles ( #108279 )
2026-07-15 05:01:29 -07:00
Dallin Romney
043e4d1ec4
fix(release): validate frozen targets with current workflows ( #108189 )
...
* fix(release): support frozen validation targets
* fix(release): filter frozen-target upgrade scenarios
2026-07-15 04:28:17 -07:00
Peter Steinberger
54f70c5d8c
fix(release): unblock plugin bootstrap recovery ( #108243 )
2026-07-15 03:34:08 -07:00
Peter Steinberger
9c8a006d0c
perf(ci): gate QA smoke by smoke-visible changes and isolate the prompt snapshot lane ( #108202 )
...
* perf(ci): diff-gate QA smoke by CLI import graph and isolate prompt snapshots lane
* fix(ci): run prompt snapshot lane unconditionally
* fix(ci): treat QA lane orchestration files as QA-impacting
2026-07-15 02:51:19 -07:00
Peter Steinberger
dfa246e6fd
fix(release): complete protected publish tooling
2026-07-15 10:43:00 +01:00
Peter Steinberger
bb1a7e5069
fix(release): pin publish workflows to protected tags
2026-07-15 09:52:01 +01:00
Peter Steinberger
9c0adbf93a
fix(ci): run spawn-timing tooling suites at plan concurrency 1 ( #108171 )
2026-07-15 01:51:52 -07:00
Dallin Romney
6c4e76ea8b
ci(qa): reuse Matrix live workflow for releases ( #103604 )
...
* ci(qa): reuse Matrix live workflow for releases
* docs(testing): restore Tailscale isolation flag
* fix(ci): make Matrix artifact names ref-safe
* test(ci): type Matrix workflow profiles
* style(testing): format Tailscale isolation guidance
2026-07-15 01:48:59 -07:00
Peter Steinberger
57761ebe8c
perf(ci): balance node test shards and gate heavy CI lanes by changed scope ( #108091 )
2026-07-15 01:16:47 -07:00
Peter Steinberger
732fb5f9e6
fix(release): bind Telegram proof artifact identity
2026-07-15 08:02:17 +01:00
Peter Steinberger
2e73cff6ca
fix(maint): keep PR maintenance delta-only ( #108018 )
...
* fix(maint): keep fork prep sync delta-only
* fix(ci): use exact merge parent for PR diffs
* fix(ci): pass docs diff base through environment
* test(ci): cover environment-mediated docs base
2026-07-14 22:49:33 -07:00
Peter Steinberger
d702f6fb33
ci: shorten full release validation critical path ( #107894 )
...
* ci(release): parallelize plugin Docker lanes
* test(plugins): expect malformed URL redaction
* ci: start release performance validation concurrently
* docs(agents): guard PR operations after throttling
2026-07-14 22:39:32 -07:00
Peter Steinberger
b2fd0276aa
ci(perf): pin calibrated Kova revision ( #107870 )
2026-07-14 17:59:43 -07:00
Peter Steinberger
92fcd4ed99
fix(system-agent): reject untrusted plugin specs before proposing
...
The Crestodian->OpenClaw reconciliation restored a pre-#102197 `if (opts.approved)`
wrapper around the execute-time plugin-install trust check, so an unapproved
plugin-install op produced a formatted plan for an arbitrary npm/url/file
source instead of rejecting it. Validate unconditionally, matching #102197 ,
and restore its dropped regression test. Also fix a stale
crestodian-ring-zero-setup id in the CI compat list and a doubled
openclaw-openclaw-planner tmpdir prefix from the mechanical rename.
2026-07-14 14:33:34 -07:00
Peter Steinberger
60f0a83db0
fix(ci): repair full release validation dispatch ( #107728 )
...
* fix(ci): accept documented release validation extras
* fix(ci): pass main changelog policy to release checks
2026-07-14 12:34:47 -07:00