Commit graph

19 commits

Author SHA1 Message Date
Dallin Romney
ea3c488f4f
fix(release): qualify frozen candidates with current tooling (#159505) 2026-09-27 00:49:03 -07:00
Peter Steinberger
299ea7c393
fix(scripts): run macOS tooling under /bin/bash and make the framework-merge fixture self-contained (#141884)
* fix(scripts): use system Bash for macOS tooling and owned Mach-O fixtures

Pin native entrypoints and package commands to /bin/bash, guard portable heredoc callers on Darwin, and preserve Bash 3.2 boolean parsing. Streamed installers explain how to use system Bash when their input cannot be replayed.

Generate deterministic x86_64, arm64, and arm64e framework fixtures instead of borrowing /bin/ls. Preserve the existing framework pipeline repair from #141056 and verify merged slice bytes.

* fix(scripts): keep guarded portable scripts bash 3.2 compatible

* fix(scripts): keep macOS Bash CI coverage green

Distinguish sourced installer returns from stdin exits without ShellCheck unreachable-code warnings. Retain the shebang regression suite in changed-target routing, and repartition hosted tooling tails toward 50-second groups within the existing 150-second budget and 80-job cap.

Validation: 635 interpreter and routing tests plus 53 planner tests passed; ShellCheck, targeted lint, formatting, and fresh Codex review passed. The broader local changed-file check hit an unrelated existing dependency graph crossing through extensions/reef/node_modules/@noble/hashes; exact-head hosted CI remains required.

* docs(install): use system Bash in install and recovery commands

Align macOS-facing copy-and-paste commands and emitted installer guidance with the supported streamed interpreter. This addresses the remaining installer-command review finding without changing the PR body.

Validation: streamed help for both installers, install.sh dry-run, 16 selected fresh-install and upgrade lifecycle tests, formatting, diff check, and fresh Codex review passed. Landing remains blocked by unrelated provider-transport integration CI failure caused by an unchanged incomplete plugin-registry mock.

* fix(scripts): preserve streamed installs and CI packing

Keep public installer commands portable while replaying Darwin Bash 5.3+
stdin under system Bash through an immediately unlinked private temp file.
Retain actionable sourced-install rejection and the SC2317-safe check.

Restore the original CI packing policy and move the Bash policy scan into
its existing macOS tooling owner without adding a routed test file.

Validation: real Homebrew Bash streamed help and cleanup; 642 scan/routing
tests; 23 selected installer tests under both PATH orders; planner cap and
coverage tests; 139 Bash syntax checks; ShellCheck; 1,135 changed-gate tests;
focused lint/changed-check repair; fresh Codex review with no P0/P1 findings.
2026-09-08 01:21:30 -07:00
Dallin Romney
3ab172649f
fix(update): preserve explicit plugin capability consent (#131301)
* fix(update): preserve explicit plugin capability consent

* fix(update): bind plugin consent to staged artifacts

Use the canonical artifact consent adapter for channel migrations and preserve
explicit consent through the update wizard. Keep prior usable payloads on denial
and record the exact accepted surface through the existing install-record owner.

Cover parser boundaries, staged artifact changes, and packaged update/repair
handoffs without treating --yes as consent or granting future permission.

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* test(update): register consent scenario with probe

Route the packaged consent scenario through the existing plugin-update probe
so Knip discovers the implementation through its normal entry graph. Initialize
scenario state only when the consent command runs, preserving other probe modes.

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(update): retain consent with compatible finalizers

Inspect the installed update command before forwarding explicit consent so
older and same-version target CLIs keep finalization in the existing parent
path when they lack the option. Preserve the installed compatibility host
through plugin convergence and reuse the update step timeout for inspection.

Use built-in streaming SHA256 for the packaged proof rather than requiring
an undeclared checksum binary.

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(update): keep convergence code loaded across replacement

Link the mandatory registry repair before the core package swap removes the
old updater's chunks. This keeps current-process finalization runnable when
the installed target cannot receive explicit capability consent, without
retaining old runtime files or changing plugin policy.

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* test(cli): await MCP Doctor batch readiness

Synchronize the concurrency test at the fourth credential check instead of
polling command startup with a wall-clock deadline. Release blocked checks
and await Doctor in finally, including early command or assertion failures.
Keep the exact concurrency, total-check and sorted-result assertions.

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Dallin Romney <dallinromney@gmail.com>
2026-08-28 08:25:06 -07:00
Vincent Koc
90bcec9fa4
fix(e2e): clean package docker artifacts on setup failure 2026-05-26 11:06:29 +02:00
Peter Steinberger
34bd962a20
refactor: share docker e2e harness runner 2026-04-29 08:28:54 +01:00
Peter Steinberger
64387ad8e2
refactor: simplify docker e2e harness scripts 2026-04-29 08:03:15 +01:00
Vincent Koc
61960342b1
test(plugin): bound plugin update package smoke 2026-04-28 13:41:52 -07:00
Peter Steinberger
6d542ebcee
test: clean up Docker test-state leftovers 2026-04-28 19:50:51 +01:00
Peter Steinberger
d22a851253
test: reuse Docker test-state in core E2E lanes 2026-04-28 19:47:11 +01:00
Vincent Koc
75c52b6c41
fix(ci): expose package deps to Telegram QA harness (#72680)
* fix(ci): expose package deps to telegram QA harness

* fix(ci): link QA package runtime deps

* fix(agents): guard replay metadata in empty retries

* fix(ci): keep plugin update smoke migration-stable
2026-04-27 00:33:29 -07:00
Peter Steinberger
44a504cd39
ci: time-box package acceptance legacy compat 2026-04-27 07:11:14 +01:00
Peter Steinberger
e962381dbf
ci: fix plugin update smoke quoting 2026-04-27 06:50:59 +01:00
Peter Steinberger
4b9c85776d
ci: allow package plugin metadata migrations 2026-04-27 06:42:14 +01:00
Peter Steinberger
32b1f0ce74
ci: narrow package acceptance to artifact lanes 2026-04-27 06:17:05 +01:00
Peter Steinberger
d108110a89
ci: use packaged tarball for docker e2e 2026-04-26 23:10:33 +01:00
Peter Steinberger
5ab5b75348
fix: update Docker plugin registry smokes 2026-04-26 09:42:14 +01:00
Vincent Koc
9bd348fdec
fix(plugins): harden install ledger path handling 2026-04-25 11:48:17 -07:00
Peter Steinberger
112f6e1622
test: reuse prebuilt docker e2e image 2026-04-23 05:55:42 +01:00
Peter Steinberger
0946e37523
fix(plugins): skip unchanged npm updates 2026-04-23 01:23:03 +01:00