npm failing in CITGM across all platforms/versions
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 606
- Forks
- 157
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 3
Description
npm is/has been a regular failure in CITGM across all platforms/versions for a while. It's probably an important one to try to fix so we can properly track regressions.
Recent reruns on npm-v8.6.0 fail on all platforms:
- v17.8.0 - https://ci.nodejs.org/job/citgm-smoker-nobuild/1167/testReport/
- v16.14.2 - https://ci.nodejs.org/job/citgm-smoker-nobuild/1168/testReport/
There are a few different failures, with some obscured by other problems.
- On the majority of platforms the output is not easily readable in the Jenkins jobs as it contains the colour codes:
added 517 packages, and changed 14 packages in 60s
> npm@8.6.0 test
> tap
[0m[0m[1m[38;2;0;0;0m[42m PASS [0m[0m[0m test/bin/npm-cli.js[0m[37m[1m 1[22m[32m OK [0m[1m[38;2;170;170;170m683.401ms[39m[22m[0m[0m[42m[0m[0m[0m[0m[1m[32m[37m[0m[0m[1m[38;2;0;0;0m[42m[0m[0m[0m[0m[0m[1m[38;2;0;0;0m[42m[0m[0m[0m[0m[0m[0m[0m
[0m[0m[1m[38;2;0;0;0m[42m PASS [0m[0m[0m test/bin/npx-cli.js[0m[37m[1m 7[22m[32m OK [0m[1m[38;2;170;170;170m1s[39m[22m[0m[0m[42m[0m[0m[0m[0m[1m[32m[37m[0m[0m[1m[38;2;0;0;0m[42m[0m[0m[0m[0m[0m[1m[38;2;0;0;0m[42m[0m[0m[0m[0m[0m[0m[0m
[0m[0m[1m[38;2;255;255;255m[44m SKIP [0m[0m[0m test/bin/windows-shims.js > [36mtest only relevant on windows[0m[37m [0m[1m[38;2;170;170;170m3.385ms[39m[22m[0m[0m[1m[44m[0m[0m[0m[36m[0m[37m[0m[0m[1m[44m[0m[0m[0m[36m[0m[0m[1m[38;2;255;255;255m[44m[0m[0m[0m[0m[0m[0m[0m
[0m[0m[1m[38;2;255;255;255m[44m SKIP [0m[0m[0m TAP[0m[0m[1m[38;2;255;255;255m[44m[0m[0m[0m[0m[0m[0m[0m
- Multiple test failures can be found within the output, such as below:
01:17:59 error: | test: test/lib/utils/exit-handler.js handles unknown error with logs and debug
01:17:59 error: | file
01:17:59 error: | at:
01:17:59 error: | line: 132
01:17:59 error: | column: 9
01:17:59 error: | file: test/lib/utils/exit-handler.js
01:17:59 error: | stack: |
01:17:59 error: | test/lib/utils/exit-handler.js:132:9
01:17:59 error: | Array.forEach (<anonymous>)
01:17:59 error: | test/lib/utils/exit-handler.js:131:14
01:17:59 error: | Array.forEach (<anonymous>)
01:17:59 error: | Test.<anonymous> (test/lib/utils/exit-handler.js:129:8)
01:17:59 error: |
01:17:59 error: | [0m[0m[1m[41m[38;2;255;255;255m FAIL [0m[0m[0m test/lib/utils/exit-handler.js[0m[0m[1m[41m[38;2;255;255;255m[0m[0m[0m[0m[0m[0m[0m
01:17:59 error: | [31m[1m ✖ [39m[22mshould be equal
01:17:59 error: |
01:17:59 error: | .reduce((__, l) => parseInt(l.match(/^(\d+)\s/)[1]))
01:17:59 error: | t.equal(logs.length, lastLog + 1)
01:17:59 error: | ----^
01:17:59 error: | t.match(logs.error, [
01:17:59 error: | ['code', 'ECODE'],
- aix72-ppc64, rhel8-s390x, rhel7-s390x hit a different error early on:
> tap
----------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files | 0 | 0 | 0 | 0 |
----------|---------|----------|---------|---------|-------------------
/home/iojs/tmp/citgm_tmp/13a08f5e-0713-4513-983d-261f65768bac/npm/node_modules/tap/node_modules/yoga-layout-prebuilt/yoga-layout/build/Release/nbind.js:53
throw ex;
^
TypeError: Cannot read properties of undefined (reading 'match')
at onError (/home/iojs/tmp/citgm_tmp/13a08f5e-0713-4513-983d-261f65768bac/npm/node_modules/tap/bin/run.js:864:15)
at /home/iojs/tmp/citgm_tmp/13a08f5e-0713-4513-983d-261f65768bac/npm/node_modules/tap/bin/run.js:141:34
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the npm@8.6.0 CITGM smoker runs across the linked platforms, then inspect test/lib/utils/exit-handler.js and tap/bin/run.js for the reported failures and output handling. Done means the relevant npm tests pass on the affected platforms and the Jenkins output is readable without terminal color codes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- ci-cd, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100