Skip to content

fix: TRAC-896 - avoid archiveManager readEntry stall on Windows/Node 24 CI#1390

Merged
jairo-bc merged 1 commit into
masterfrom
jairopanduro/ltrac-928-stencil-cli-archivemanager-extractzipfiles-tests-time-out-on
Jul 7, 2026
Merged

fix: TRAC-896 - avoid archiveManager readEntry stall on Windows/Node 24 CI#1390
jairo-bc merged 1 commit into
masterfrom
jairopanduro/ltrac-928-stencil-cli-archivemanager-extractzipfiles-tests-time-out-on

Conversation

@jairo-bc

@jairo-bc jairo-bc commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

What?

  • extractZipFiles() called readEntry() right after pipeline() resolved
  • Stalls on windows-latest + Node 24.x once a 2nd real read+inflate cycle is requested (exceeds Jest's 5000ms timeout)
  • Matches exact CI split: failing tests process ≥2 real zip entries; passing tests resolve/reject on the first entry only
  • Fix: yield a tick (setImmediate) before readEntry() so previous entry's zlib/fd fully tear down
  • Can't repro on macOS/Linux — validated against real CI: build (24.x, windows-latest) passed twice after this fix

Tickets / Documentation

cc @bigcommerce/storefront-team

@jairo-bc jairo-bc changed the title TRAC-896: Fix archiveManager Windows/Node24 CI test timeouts fix: TRAC-896 - avoid archiveManager readEntry stall on Windows/Node 24 CI Jul 7, 2026
@jairo-bc jairo-bc force-pushed the jairopanduro/ltrac-928-stencil-cli-archivemanager-extractzipfiles-tests-time-out-on branch from 4040f7b to b51ad0f Compare July 7, 2026 17:24
@jairo-bc jairo-bc marked this pull request as ready for review July 7, 2026 17:29
@jairo-bc jairo-bc requested a review from a team July 7, 2026 17:30
Comment thread lib/archiveManager.js Outdated
…24 CI

extractZipFiles() called zipFile.readEntry() for the next entry
immediately after the previous entry's pipeline() resolved. On
windows-latest with Node 24.x this stalls once a second real
read+inflate cycle is requested, timing out CI (build (24.x,
windows-latest) failing on PR #1383). The three fastest-failing
tests only skip to the next entry after a completed extraction
cycle; tests that resolve/reject on the first entry are unaffected.

Yield a tick (setImmediate) before calling readEntry() so the prior
entry's zlib inflate stream and fd fully tear down before the next
entry is requested.

Fixes TRAC-896
@jairo-bc jairo-bc force-pushed the jairopanduro/ltrac-928-stencil-cli-archivemanager-extractzipfiles-tests-time-out-on branch from b51ad0f to 3c3f2d4 Compare July 7, 2026 18:08
@jairo-bc jairo-bc merged commit a427260 into master Jul 7, 2026
16 checks passed
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 9.0.3 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants