Repository navigation
Description
Purpose
Track restoration of CI and post-release integration on latest, release/v11, and release/v10. Group failures by verified cause, not by runtime or job name. Distinguish a merged fix, a published dependency, a passing job, and verified execution of the affected tests.
Current verified baseline — November 5, 2026
These are the latest completed Release runs on each branch, all at attempt 1. The inventory below accounts for all 13 failed jobs: 7 on latest, 3 on v11, and 3 on v10. This replaces the September/October runs as the current failure baseline.
| Branch | Release / commit | Release run | Failed jobs | Same-commit ordinary CI |
|---|---|---|---|---|
latest |
npm 12.2.2 / 60e11343e61316d966c86805d803df5a0eb99230 |
41936963652 | 7 | Passed |
release/v11 |
npm 11.21.2 / 1c66798c9def37e12509ccebb5b08cddf247c2e8 |
41928067609 | 3 | Passed |
release/v10 |
npm 10.9.10 / 74df09b1d399535aeffcde3489648f3a89a273e5 |
41900373307 | 3 | Passed |
These Release failures are downstream integration failures, not evidence that npm package publication failed. A green ordinary CI run does not exercise the complete Release Integration matrix. Dependent jobs skipped after a failed build are not counted as failures or passing coverage.
Every current failed job and its coverage
All job links below belong to Release / Release Integration / publish (...).
| Branch | Runtime / failed job | Verified error | Owner / proposed coverage |
|---|---|---|---|
| v11 | 22: test nodejs | Python stdout flush raises BlockingIOError: [Errno 11]; addon header build exits 120 |
Gap A, tracker-owned; not covered by #10235 or a CITGM change |
| v11 | 23: build nodejs@23 npm@11.21.2 | Node configure finds Python 3.14.4 but accepts only Python 3.8–3.13 | Gap B, tracker-owned; not covered by #10235 |
| v11 | nightly: microtime@3.1.1 | node-gyp 9.4.1 tries to install headers for v28.0.0-pre instead of using configured headers |
#10065; header transport in #10235; alternative removal proposed in nodejs/citgm#1199 |
| v10 | 18: build nodejs@18 npm@10.9.10 | Node configure finds Python 3.14.4 but accepts only Python 3.6–3.13 | Gap B, tracker-owned; requires v10 coverage |
| v10 | 20: test nodejs | tools/install.py fails while printing installed header paths with BlockingIOError: [Errno 11]; addon header build exits 120 |
Gap A, tracker-owned; requires v10 coverage |
| v10 | nightly: test npm | Strict no-args smoke stderr assertion sees the unsupported-engine warning for v28.0.0-pre; aggregation later exits with literal STEPEXIT |
#10064 plus tracker aggregation follow-up; Gap C, missing v10 startup/aggregation backports |
latest |
22: JSONStream@1.3.5 | EALLOWGIT fetching JSONStream's fomatto Git dependency during installation |
#10026; requires both nodejs/citgm#1158 publication/consumption and install-time environment propagation in #10234 |
latest |
22: test nodejs | Python stdout flush raises BlockingIOError: [Errno 11]; addon header build exits 120 |
Gap A, tracker-owned; not covered by #10234 |
latest |
24: JSONStream@1.3.5 | Same install-time EALLOWGIT |
#10026; same two-part dependency as Node 22 |
latest |
24: test nodejs | Python stdout flush raises BlockingIOError: [Errno 11]; addon header build exits 120 |
Gap A, tracker-owned; not covered by #10234 |
latest |
26: JSONStream@1.3.5 | Same install-time EALLOWGIT |
#10026; same two-part dependency as Node 22 |
latest |
nightly: JSONStream@1.3.5 | Same install-time EALLOWGIT |
#10026; same two-part dependency as Node 22 |
latest |
nightly: microtime@3.1.1 | node-gyp 9.4.1 tries to install headers for v28.0.0-pre |
#10065; header transport in #10234; alternative removal proposed in nodejs/citgm#1199 |
Uncovered work
- Gap A — Node test header-install stdout failures (four jobs across all three branches). Preserve the Node/addon test coverage and investigate/correct the stdout transport used by the Python header installer. The shared observed failure is nonblocking stdout/flush, not a CITGM fixture failure. Do not attribute the initiating runner behavior to a particular Python or runner release without evidence. Subsequent ccache deletion errors (
Resource not accessible by integration) are cleanup errors, not the first failure. - Gap B — Python version compatibility for older Node source builds (v11/23 and v10/18). Select a supported Python for the affected configure/build and test steps, keeping source templates and generated workflows aligned. Source-download retries cannot fix configure rejecting Python 3.14.4.
- Gap C — v10 nightly startup and result aggregation.
release/v10still callssemver.satisfieswithoutincludePrerelease: true; fix: accept supported Node.js prereleases at startup #10175 and its v11 backport fix: accept supported Node.js prereleases at startup #10195 do not cover v10. Backport the supported-prerelease startup behavior and numeric exit/discovery handling; preserve strict smoke stderr assertions. - Prepare a branch-appropriate
ci-integration-v10patch and assess additional corrections for chore: restore release integration #10234/chore: restore release integration (v11) #10235. No v10 integration PR currently exists for these gaps, and neither existing integration PR claims to solve all 13 jobs.
Gaps A and B are explicitly owned by this tracker pending dedicated child issues/patches. Gap C reuses #10064 rather than inventing a separate issue for the same assertion on another branch. No speculative workaround, fixture removal, retry suppression, or workflow rerun has been applied by this audit.
Open npm/cli PRs and what they actually cover
#10234 | chore: restore release integration
#10235 | chore: restore release integration (v11 backport)
Both are open. Their current ordinary PR checks pass, including lint, smoke tests, Linux/macOS/Windows tests, and Windows Shims Tests. The new Cygwin executable probe runs, and the Cygwin subtest executes; its four existing cwd-related skips remain unchanged.
The PRs provide install-time fixture environment propagation, native-only legacy npm_config_nodedir, numeric npm result aggregation and checked workspace discovery, CITGM version logging, archive HTTP handling, and Cygwin provisioning improvements. The v11 PR additionally backports existing Node source-download protection.
For the current inventory, their direct native-header changes target the two microtime failures. The latest PR is necessary but not sufficient for the four JSONStream failures: upstream fixture metadata must also be merged, published, and consumed. The remaining seven failures (four Node test jobs, two Node build jobs, and v10 nightly npm) are not covered by these PRs. Ordinary PR checks have not verified repaired Release Integration.
Child issue status and historical dispositions
Checkboxes below reflect GitHub issue closure, not an assumption that a proposed patch has shipped.
- ci: Node.js nightly integration fails while extracting source archive #10016 — Node source archive handling; closed. Existing latest protection is also backported in chore: restore release integration (v11) #10235. Current stable build failures are Python configure failures, not this archive failure.
- ci: binary-split CITGM source download uses stale repository owner #10020 — GitHub issue remains open. The stale
binary-splitrepository metadata was fixed by merged fix: update binary-split repository nodejs/citgm#1142 and released in CITGM 10.0.4. Current latest/v11 binary-split jobs are successful; chore: restore release integration #10234/chore: restore release integration (v11) #10235 add archive diagnostics and version logging rather than repairing the already-corrected owner. - ci: release integration selects Node 23 outside npm 12 supported engines #10024 — Node 23 outside npm 12's supported engine matrix; closed. The present v11 Node 23 failure is unrelated Python compatibility, not npm 12 engines.
- ci: CITGM Git-dependency fixtures lack npm 12 policy configuration #10026 — Open. JSONStream still fails in all four current latest runtimes; requires upstream metadata and CLI install-time environment propagation.
- ci: CITGM relies on native-build option forwarding rejected by npm 12 #10023 — GitHub issue remains open, but lookup: update thread-sleep metadata nodejs/citgm#1159 is merged, and its thread-sleep cleanup is released in CITGM 10.0.4. Current latest/v11 thread-sleep jobs are successful; the fixture remains marked flaky, so a green job alone is not proof of every command passing.
- ci: live-registry smoke test fails on a socket reset with fetch retries disabled #10022 — Open. No reset reproduced in local large-install validation, and current ordinary CI smoke jobs pass. Initiating cause remains unresolved; no resilience change was made.
- ci: Cygwin provisioning fails before Windows shim tests run #10025 — Open. chore: restore release integration #10234/chore: restore release integration (v11) #10235 update and diagnose Cygwin provisioning; both PRs now have passing Windows execution evidence. Historical installer causality remains unproven.
- ci: nightly npm smoke test rejects expected engine warning #10064 — Open. Startup prerelease handling is merged on latest (fix: accept supported Node.js prereleases at startup #10175) and v11 (fix: accept supported Node.js prereleases at startup #10195); no corresponding nightly npm failure exists in their current runs. v10 still reproduces the warning assertion, and needs the startup backport as well as tracker-owned aggregation correction.
- ci: nightly native CITGM fixtures ignore configured Node headers #10065 — Open. Leveldown was retired by merged lookup: remove leveldown nodejs/citgm#1122 and released in CITGM 10.0.4; do not call retirement a passing native build. Microtime remains failing on latest/v11 nightly and has the workflow fix in chore: restore release integration #10234/chore: restore release integration (v11) #10235.
- release: GitHub 502 leaves npm 11.21.0 release records incomplete #10066 — GitHub issue remains open, but the previously missing release records are already recovered, not currently missing. v11.21.0 and config-v10.14.0 are published. Their tag commit and registry gitHead have identical source trees. Recovery run 38615337436 executed Release Integration; its downstream failures must not be confused with missing records. Do not recreate records or recommend an unconditional release rerun.
Upstream CITGM state
| Change | Current state | Remaining requirement |
|---|---|---|
| nodejs/citgm#1142 — binary-split owner | Merged; released in CITGM 10.0.4 | Current binary-split jobs are successful; retain execution/version evidence when reconciling #10020 |
| nodejs/citgm#1122 — retire leveldown | Merged; released in CITGM 10.0.4 | Record the retirement disposition and retain other native coverage |
| nodejs/citgm#1159 — thread-sleep metadata | Merged; released in CITGM 10.0.4 | Reconcile still-open #10023; do not infer full test success from flaky job status alone |
| nodejs/citgm#1158 — JSONStream Git opt-in | Open, not merged | Merge, publish, consume, and pair with #10234 install-time environment propagation |
| nodejs/citgm#1199 — remove microtime | Open, not merged | Alternative retirement proposal, not a header-build fix or evidence that microtime tests pass |
The earlier CITGM 10.0.4 release PR nodejs/citgm#1147 is merged and 10.0.4 is published. The old description of that release as pending is obsolete.
Historical baselines retained for context
| Release / workflow | Original inventory |
|---|---|
| npm 12.1.0 Release and CI | 9 Release failures and 1 CI failure |
| npm 11.20.0 Release and CI | 3 Release failures and 1 CI failure |
| npm 12.2.0 Release | 14 failures, including original #10064/#10065 reports |
| npm 11.21.0 Release | Historical release-please failure tracked by #10066; records subsequently recovered |
These historical runs remain evidence for their child issues; they are not the current open failure list.
Completion criteria
- Resolve or explicitly disposition every owner, including new gaps A/B and v10 scope.
- Merge and consume required npm/cli and CITGM fixes on the appropriate release lines.
- Capture post-fix Release Integration evidence for all three branches: affected installs, compiler/header usage, package tests, Node tests, and strict smoke assertions must execute.
- Account for flaky tolerances, existing skips, fixture retirements, and skipped dependent jobs; do not equate a green summary with restored coverage.
- Reconcile still-open historical child issues using their actual fix/execution evidence without presenting an unresolved infrastructure hypothesis as fact.
Keep this tracker open: the two current PRs do not cover the entire failure inventory, JSONStream metadata is still pending upstream, and complete post-fix Release Integration has not been verified.
Activity
[-]ci: track root causes and restore CI on latest and release/v11[/-][+]ci: track root causes and restore CI on latest, release/v11, and release/v10[/+]reggi commentedon Nov 5, 2026
reggi commentedon Nov 6, 2026
We'll open a new ticket next week when the release kicks off with any remaining issues