fix(snapshots): scope registry teardown signal#2115
Merged
Conversation
✅ Deploy Preview for viteplus-preview canceled.
|
Member
Author
How to use the Graphite Merge QueueAdd the label auto-merge to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
fengmk2
marked this pull request as ready for review
July 9, 2026 14:56
fengmk2
force-pushed
the
fix-snap-registry-teardown
branch
from
July 9, 2026 14:57
9b411d2 to
cfbc122
Compare
This was referenced Jul 9, 2026
fengmk2
force-pushed
the
fix-snap-registry-teardown
branch
from
July 9, 2026 16:49
8397ec3 to
cfbc122
Compare
The local-registry teardown sent SIGTERM to both the server process and its process group (kill -TERM <pid> -<pid>). On the GitHub-hosted ubuntu-latest PTY runs that process-group signal leaked past the case boundary and reached the Actions runner agent, which reported "runner received a shutdown signal" and cancelled the job. Confirmed via a bpftrace probe on signal:signal_generate: no suite process ever sends a SIGINT, so the runner itself was doing the cancelling in response to the stray group SIGTERM. Scope the SIGTERM to the direct child; the server's own handler still removes its throwaway caches and the force-kill fallback still guarantees teardown.
#2126 (vite-task bump) resolved the ConPTY block on Namespace's Windows runners, so move cli-snapshot-test-windows from GitHub-hosted windows-latest to namespace-profile-windows-4c-8g. The comment keeps the prior Session-0 caveat as a revert path.
fengmk2
force-pushed
the
fix-snap-registry-teardown
branch
from
July 10, 2026 01:50
cfbc122 to
52ce2b9
Compare
wan9chi
approved these changes
Jul 10, 2026
Merge activity
|
graphite-app Bot
pushed a commit
that referenced
this pull request
Jul 10, 2026
Migrates all 149 legacy `vp migrate` snap-test cases (144 from `snap-tests-global`, 5 from `snap-tests`) to the PTY snapshot suite under `crates/vite_cli_snapshots`, and removes the legacy dirs. Part of #2078. Adds `redact.rs` rules for the managed-toolchain versions that appear in `vp migrate` output and bump on release: the completion banner (`Migrated . to Vite+ <version>`), the version-change table's managed rows (vite-plus, vite, vitest, `@vitest/*`, keeping the installed-source column), and the bundled vitest pins written into catalogs/overrides. The `not-supported-vite6`/`vitest3` cases stub `node_modules/<pkg>/package.json` instead of running a network `vp install`, so migrate reads the unsupported version offline. Stacked on #2115 (local-registry teardown signal fix), which the Linux snapshot job needs.
wan9chi
added a commit
that referenced
this pull request
Jul 16, 2026
) Release vite-plus v0.2.5: Cleaner environments and more reliable workflows. This release adds cleanup and package version commands, supports TypeScript 7 declaration generation, reduces the standalone binary size, and hardens task tracking, CLI output, package-manager routing, Docker workflows, and project scaffolding. ### Highlights - Add `vp env clean` to remove unused managed Node.js runtimes and package-manager caches ([#2003](#2003)), by @liangmiQwQ - Add `vp pm version`, forwarding native version commands to npm, pnpm, Yarn, and Bun ([#2127](#2127)), by @jong-kyung - Add TypeScript 7 support to declaration generation and generated library projects with tsdown `0.22.7` ([#2104](#2104), [#2168](#2168)), by @wan9chi - Improve automatic task input tracking for Bun on macOS, Linux containers with constrained `/dev/shm`, and Windows process images, reduce Windows backing-file allocation, and clarify task wait failures ([vite-task#515](voidzero-dev/vite-task#515), [vite-task#518](voidzero-dev/vite-task#518), [vite-task#523](voidzero-dev/vite-task#523), [vite-task#524](voidzero-dev/vite-task#524), [vite-task#542](voidzero-dev/vite-task#542), [#2126](#2126), [#2167](#2167)), by @wan9chi - Prevent CLI diagnostics from truncating or panicking when inherited standard output or error is nonblocking ([#2172](#2172), [#2173](#2173)), by @wan9chi ### Fixes & Enhancements - Reduce standalone `vp` binary sizes by about 5% on Linux and macOS and 19% on Windows ([#2043](#2043)), by @fengmk2 - Keep the Docker image non-root by default while allowing passwordless `sudo` for Playwright browser dependencies and system packages ([#2088](#2088)), by @fengmk2 - Ignore `.env` and `.env.*` in generated projects while keeping `.env.example` trackable ([#2095](#2095)), by @forehalo - Create `vp-use.cmd` after the Windows environment bin directory is ready and document its Command Prompt-only usage ([#2128](#2128)), by @liangmiQwQ - Render user-facing process statuses and paths without Rust debug wrappers ([#2130](#2130)), by @liangmiQwQ - Make `vp dedupe` fall back to `yarn install` with a warning on Yarn Classic ([#2139](#2139)), by @jong-kyung - Ensure package-manager child processes, including Bun, can always find the managed Node.js runtime ([#2158](#2158)), by @BlankParticle ### Docs - Update the release-manager post-release guidance ([#2096](#2096)), by @wan9chi - Add Windows to the Namespace sponsor credit ([#2108](#2108)), by @fengmk2 - Document installer and runtime environment variables, registry settings, TLS options, and precedence rules ([#2114](#2114)), by @yukinoshi - Mark shell examples in `CONTRIBUTING.md` as Bash code blocks ([#2159](#2159)), by @BlankParticle ### Chore - Assign prepared release PRs to the workflow actor ([#2094](#2094)), by @wan9chi - Complete the PTY snapshot migration and harden the runner, fixtures, release-version redaction, registry teardown, timeouts, and Linux parallelism ([#2071](#2071), [#2080](#2080), [#2084](#2084), [#2099](#2099), [#2102](#2102), [#2103](#2103), [#2107](#2107), [#2109](#2109), [#2115](#2115), [#2117](#2117), [#2118](#2118), [#2119](#2119), [#2120](#2120), [#2121](#2121), [#2131](#2131), [#2132](#2132), [#2134](#2134), [#2137](#2137), [#2138](#2138), [#2141](#2141), [#2143](#2143), [#2145](#2145), [#2182](#2182)), by @fengmk2 and @wan9chi - Expose Vite+ managed binaries consistently inside snapshot fixtures ([#2110](#2110)), by @liangmiQwQ - Exclude PTY snapshot configuration from Vitest discovery and remove the legacy snapshot infrastructure ([#2135](#2135), [#2146](#2146)), by @jong-kyung - Modernize Windows runners, registry bridge publishing, native size reporting, merge-base comparisons, and package-manager installation CI ([#2083](#2083), [#2100](#2100), [#2105](#2105), [#2106](#2106), [#2112](#2112), [#2133](#2133)), by @fengmk2 - Verify that created monorepo libraries emit declarations in CI ([#2171](#2171)), by @wan9chi ### Bundled Versions | Tool | Version | Source | | --------------- | ------- | ----------------------------------------------------------------------- | | vite | `8.1.4` | [`a477454`](vitejs/vite@a477454) | | rolldown | `1.1.5` | [`f09947a`](rolldown/rolldown@f09947a) | | tsdown | `0.22.7` | [npm](https://npmx.dev/package/tsdown/v/0.22.7) | | vitest | `4.1.10` | [npm](https://npmx.dev/package/vitest/v/4.1.10) | | oxlint | `1.73.0` | [npm](https://npmx.dev/package/oxlint/v/1.73.0) | | oxlint-tsgolint | `0.24.0` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/0.24.0) | | oxfmt | `0.58.0` | [npm](https://npmx.dev/package/oxfmt/v/0.58.0) | ### Upgrade ```bash vp upgrade ``` ### New Contributors Welcome @yukinoshi and @BlankParticle. **Full Changelog**: v0.2.4...v0.2.5 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: wan9chi <dk4rest@gmail.com>
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

The local-registry teardown sent SIGTERM to both the server process and
its process group (kill -TERM -). On the GitHub-hosted
ubuntu-latest PTY runs that process-group signal leaked past the case
boundary and reached the Actions runner agent, which reported "runner
received a shutdown signal" and cancelled the job. Confirmed via a
bpftrace probe on signal:signal_generate: no suite process ever sends a
SIGINT, so the runner itself was doing the cancelling in response to the
stray group SIGTERM. Scope the SIGTERM to the direct child; the server's
own handler still removes its throwaway caches and the force-kill fallback
still guarantees teardown.