Skip to content

test(cli): reproduce stdio backpressure#2172

Merged
graphite-app[bot] merged 1 commit into
mainfrom
agent/test-stdio-backpressure-e2e
Jul 15, 2026
Merged

test(cli): reproduce stdio backpressure#2172
graphite-app[bot] merged 1 commit into
mainfrom
agent/test-stdio-backpressure-e2e

Conversation

@wan9chi

@wan9chi wan9chi commented Jul 14, 2026

Copy link
Copy Markdown
Member

Motivation

Reproduces #2165, so the fix in #2173 can be verified.

How

  • add a Unix-only vpt backpressure-run payload that gives a child a non-blocking socket-backed stdout
  • keep the channel pressurized by reading one small chunk only when it is full, allowing blocking output to progress while detecting a full O_NONBLOCK writer directly
  • add a vp check fixture with 128 deterministic lint warnings, exercised through both local and global CLI flavors
  • record the current broken behavior with a stable backpressure-run detected truncated child output under stdio backpressure diagnostic

CI behavior

The failing command behavior is the expected snapshot in this layer, so the regression is visible without making this PR's CI red. The next PR in the stack changes the same snapshots to the complete successful output.

@netlify

netlify Bot commented Jul 14, 2026

Copy link
Copy Markdown

Deploy Preview for viteplus-preview canceled.

Name Link
🔨 Latest commit 7f1e760
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/6a5734aa85f55a0007d83f8e

wan9chi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

How to use the Graphite Merge Queue

Add 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.

@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Native binary sizes (7f1e760)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.

Artifact Format Base PR Change
vp (Linux x64) Binary 10.32 MiB 10.32 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.42 MiB 4.42 MiB 0 B (0.00%)
NAPI (Linux x64) Binary 33.46 MiB 33.46 MiB 0 B (0.00%)
NAPI (Linux x64) gzip -9 12.80 MiB 12.80 MiB 0 B (0.00%)
vp (macOS ARM64) Binary 7.64 MiB 7.64 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 3.83 MiB 3.83 MiB 0 B (0.00%)
NAPI (macOS ARM64) Binary 40.73 MiB 40.73 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 17.02 MiB 17.02 MiB -13 B (-0.00%)
vp (Windows x64) Binary 8.37 MiB 8.37 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 3.64 MiB 3.64 MiB 0 B (0.00%)
NAPI (Windows x64) Binary 27.78 MiB 27.78 MiB 0 B (0.00%)
NAPI (Windows x64) gzip -9 10.74 MiB 10.74 MiB 0 B (0.00%)
Trampoline (Windows x64) Binary 203.00 KiB 203.00 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 97.91 KiB 97.91 KiB 0 B (0.00%)
Installer (Windows x64) Binary 4.46 MiB 4.46 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.08 MiB 2.08 MiB +1 B (+0.00%)

@wan9chi wan9chi force-pushed the agent/test-stdio-backpressure-e2e branch from aaa12f4 to 4bdb273 Compare July 14, 2026 12:33
@wan9chi wan9chi marked this pull request as ready for review July 15, 2026 02:50

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4bdb2733bf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/vite_cli_snapshots/src/bin/vpt/backpressure_run.rs Outdated
@wan9chi wan9chi force-pushed the agent/test-stdio-backpressure-e2e branch from 4bdb273 to 1bfedce Compare July 15, 2026 03:18
@wan9chi wan9chi marked this pull request as draft July 15, 2026 03:18
@wan9chi wan9chi marked this pull request as ready for review July 15, 2026 04:02
@wan9chi wan9chi requested review from Brooooooklyn and cpojer July 15, 2026 04:02

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1bfedcee12

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/vite_cli_snapshots/src/bin/vpt/backpressure_run.rs
@wan9chi wan9chi force-pushed the agent/test-stdio-backpressure-e2e branch from 1bfedce to 0ec1d14 Compare July 15, 2026 06:27
@graphite-app

graphite-app Bot commented Jul 15, 2026

Copy link
Copy Markdown

Merge activity

  • Jul 15, 6:49 AM UTC: wan9chi added this pull request to the Graphite merge queue.
  • Jul 15, 7:05 AM UTC: The Graphite merge queue couldn't merge this PR because it was not satisfying all requirements (Failed CI: 'done', 'CLI E2E test (namespace-profile-linux-x64-default, x86_64-unknown-linux-gnu)', 'CLI snapshot test (Windows)').
  • Jul 15, 7:46 AM UTC: wan9chi added this pull request to the Graphite merge queue.
  • Jul 15, 7:46 AM UTC: Merged by the Graphite merge queue.

graphite-app Bot pushed a commit that referenced this pull request Jul 15, 2026
## Motivation

Reproduces #2165, so the fix in #2173 can be verified.

## How

- add a Unix-only `vpt backpressure-run` payload that gives a child a non-blocking socket-backed stdout
- keep the channel pressurized by reading one small chunk only when it is full, allowing blocking output to progress while detecting a full `O_NONBLOCK` writer directly
- add a `vp check` fixture with 128 deterministic lint warnings, exercised through both local and global CLI flavors
- record the current broken behavior with a stable `backpressure-run detected truncated child output under stdio backpressure` diagnostic

## CI behavior

The failing command behavior is the expected snapshot in this layer, so the regression is visible without making this PR's CI red. The next PR in the stack changes the same snapshots to the complete successful output.
@graphite-app graphite-app Bot force-pushed the agent/test-stdio-backpressure-e2e branch from 0ec1d14 to 4147903 Compare July 15, 2026 06:51
## Motivation

Reproduces #2165, so the fix in #2173 can be verified.

## How

- add a Unix-only `vpt backpressure-run` payload that gives a child a non-blocking socket-backed stdout
- keep the channel pressurized by reading one small chunk only when it is full, allowing blocking output to progress while detecting a full `O_NONBLOCK` writer directly
- add a `vp check` fixture with 128 deterministic lint warnings, exercised through both local and global CLI flavors
- record the current broken behavior with a stable `backpressure-run detected truncated child output under stdio backpressure` diagnostic

## CI behavior

The failing command behavior is the expected snapshot in this layer, so the regression is visible without making this PR's CI red. The next PR in the stack changes the same snapshots to the complete successful output.
@wan9chi wan9chi force-pushed the agent/test-stdio-backpressure-e2e branch from 4147903 to 7f1e760 Compare July 15, 2026 07:20
@graphite-app graphite-app Bot merged commit 7f1e760 into main Jul 15, 2026
48 checks passed
@graphite-app graphite-app Bot deleted the agent/test-stdio-backpressure-e2e branch July 15, 2026 07:46
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants