Skip to content

test: Add stdin EOF startup regression coverage#12609

Merged
anthonyshew merged 2 commits into
mainfrom
test/stdin-eof-startup-regression
Apr 13, 2026
Merged

test: Add stdin EOF startup regression coverage#12609
anthonyshew merged 2 commits into
mainfrom
test/stdin-eof-startup-regression

Conversation

@anthonyshew

@anthonyshew anthonyshew commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add a turbo run dev integration test that proves non-persistent stream-mode tasks receive EOF on stdin and complete startup
  • Add lower-level turborepo-process tests plus a shared fixture script that distinguish an open stdin pipe from immediate EOF
  • Guard against regressions in the startup-hang behavior behind Windows + tsx issue #7834 without depending on tsx or googleapis

Add process-level and end-to-end regression tests that prove non-persistent tasks see EOF on stdin in stream mode. This guards against startup hangs caused by leaving stdin open for tasks that do not take input.

Made-with: Cursor
@anthonyshew anthonyshew requested a review from a team as a code owner April 13, 2026 18:02
@anthonyshew anthonyshew requested review from tknickman and removed request for a team April 13, 2026 18:02
@vercel

vercel Bot commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
examples-basic-web Ready Ready Preview, Comment, Open in v0 Apr 13, 2026 6:29pm
examples-designsystem-docs Ready Ready Preview, Comment, Open in v0 Apr 13, 2026 6:29pm
examples-gatsby-web Ready Ready Preview, Comment, Open in v0 Apr 13, 2026 6:29pm
examples-kitchensink-blog Ready Ready Preview, Comment, Open in v0 Apr 13, 2026 6:29pm
examples-nonmonorepo Ready Ready Preview, Comment, Open in v0 Apr 13, 2026 6:29pm
examples-svelte-web Ready Ready Preview, Comment, Open in v0 Apr 13, 2026 6:29pm
examples-tailwind-web Ready Ready Preview, Comment, Open in v0 Apr 13, 2026 6:29pm
examples-vite-web Ready Ready Preview, Comment, Open in v0 Apr 13, 2026 6:29pm
turbo-site Ready Ready Preview, Comment, Open in v0 Apr 13, 2026 6:29pm

@anthonyshew anthonyshew changed the title test: Add Stdin EOF startup regression coverage test: Add stdin EOF startup regression coverage Apr 13, 2026
Use stream-based stdin reads in the regression fixtures so EOF is handled consistently across platforms. This preserves the startup-hang contract we want to test without relying on Windows-specific `fs.readFileSync(0)` behavior.

Made-with: Cursor
@anthonyshew anthonyshew merged commit eba8246 into main Apr 13, 2026
54 checks passed
@anthonyshew anthonyshew deleted the test/stdin-eof-startup-regression branch April 13, 2026 18:30
@anthonyshew anthonyshew mentioned this pull request Apr 13, 2026
1 task
github-actions Bot added a commit that referenced this pull request Apr 13, 2026
## Release v2.9.7-canary.5

Versioned docs: https://v2-9-7-canary-5.turborepo.dev

### Changes

- release(turborepo): 2.9.7-canary.4 (#12608) (`d727147`)
- test: Add stdin EOF startup regression coverage (#12609) (`eba8246`)

Co-authored-by: Turbobot <turbobot@vercel.com>
github-actions Bot added a commit that referenced this pull request May 1, 2026
## Release v2.9.7

> [!CAUTION]
> Versioned docs aliasing FAILED. [View
logs](https://github.com/vercel/turborepo/actions/runs/25199467832)

### Changes

- feat(sandbox): Bump @vercel/sandbox from v1 to beta (#12595)
(`dba017a`)
- release(turborepo): 2.9.6 (#12597) (`50d7bcf`)
- fix: Align Markdown docs routing with docs/md endpoints (#12596)
(`ca04adc`)
- fix: Support two-dot git ranges in filter selectors (#12599)
(`04f9f41`)
- chore: Update examples to Turbo 2.9.6 (#12600) (`1a48897`)
- release(turborepo): 2.9.7-canary.1 (#12602) (`cc99739`)
- release(turborepo): 2.9.7-canary.2 (#12603) (`41ff958`)
- chore: Upgrade dependencies to resolve their known vulnerabilities
(#12604) (`dd34170`)
- ci: Remove cargo and pnpm audit workflows (#12605) (`dbf2aeb`)
- release(turborepo): 2.9.7-canary.3 (#12606) (`f674256`)
- fix: Preserve graceful shutdown output (#12607) (`0b5bb21`)
- release(turborepo): 2.9.7-canary.4 (#12608) (`d727147`)
- test: Add stdin EOF startup regression coverage (#12609) (`eba8246`)
- release(turborepo): 2.9.7-canary.5 (#12611) (`61f3f02`)
- fix: Ignore SIGINT in shim after spawning local `turbo` (#12612)
(`d28c4ea`)
- release(turborepo): 2.9.7-canary.6 (#12613) (`e8015da`)
- fix: Support pnpm v11 multi-document lockfiles (#12616) (`d0d5d3a`)
- release(turborepo): 2.9.7-canary.7 (#12617) (`598121f`)
- fix: Preserve graceful shutdown exit code (#12620) (`4a3f274`)
- release(turborepo): 2.9.7-canary.8 (#12621) (`8b481bb`)
- fix: Keep Node wrapper alive during graceful shutdown (#12622)
(`a081b02`)
- release(turborepo): 2.9.7-canary.9 (#12623) (`7550044`)
- fix: Preserve PTY graceful shutdown semantics (#12624) (`f4ba2d0`)
- feat: Move Vercel auth to standard OAuth/device flows (#12526)
(`0f37c24`)
- release(turborepo): 2.9.7-canary.10 (#12625) (`f7c5d3e`)
- release(turborepo): 2.9.7-canary.11 (#12626) (`046efea`)
- examples: Add Ultracite example (#12615) (`3188a56`)
- fix: Preserve legacy Vercel auth compatibility (#12629) (`2d20d3b`)
- release(turborepo): 2.9.7-canary.12 (#12630) (`90d1430`)
- fix: Recover Vercel auth tokens across login flows (#12631)
(`0d83a51`)
- release(turborepo): 2.9.7-canary.13 (#12632) (`d7618e6`)
- docs: Fix TURBO_PLATFORM_ENV_DISABLED value in docs (true, not false)
(#12633) (`99f27c4`)
- ci: Temporarily disable cron releases (#12637) (`9f385a1`)
- chore: Update flags SDK (#12646) (`a7ee687`)
- ci: Disable AWS-backed sccache (#12663) (`5983eb5`)
- fix: Prevent prune from overmatching gitignore entries (#12662)
(`5478288`)
- ci: Harden release API commits (#12664) (`45842be`)
- ci: Fix release API commit paths (#12665) (`6d6d70d`)
- release(turborepo): 2.9.7-canary.14 (#12666) (`70e9353`)
- chore: Add `tbx` sandbox helper (#12668) (`c6f0d53`)
- fix: Allow npm registry in tbx sandboxes (#12669) (`57a4716`)
- fix: Install turbo globally in tbx base (#12670) (`78134f8`)
- docs: Clarify package hash file inputs (#12671) (`fdfed03`)
- fix: Allow tbx sandboxes to use stale bases (#12672) (`ce65df5`)
- fix: Install dotfiles during `tbx base refresh` (#12673) (`7a3023d`)
- fix: Improve tbx sandbox startup (#12674) (`aab6e38`)
- fix: Improve tbx sandbox startup defaults (#12675) (`409b6d8`)
- fix: Support pnpm 11 flat patch lockfiles (#12676) (`976bdce`)
- docs: Fix link to passthrough variables source code (#12643)
(`7c64d46`)
- release(turborepo): 2.9.7-canary.15 (#12677) (`bca27f0`)
- fix: Avoid rerunning non-cacheable watch dependencies (#12678)
(`9477571`)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.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.

1 participant