Skip to content

lookup: unskip serialport on s390x - #1138

Open
abhayagarwal-dev wants to merge 1 commit into
nodejs:mainfrom
abhayagarwal-dev:unskip-s390x
Open

abhayagarwal-dev wants to merge 1 commit into
nodejs:mainfrom
abhayagarwal-dev:unskip-s390x

Conversation

@abhayagarwal-dev

@abhayagarwal-dev abhayagarwal-dev commented Sep 11, 2026

Copy link
Copy Markdown

serialport was skipped on s390x in #994 due to failures when testing
against a pre-release version of Node.js. It is no longer failing on
s390x with current Node.js versions.

Tested with Node.js v27.0.0-pre on s390x (Linux 6.12.0 s390x):

info: starting            | serialport
info: lookup              | serialport
info: lookup-found        | serialport
info: serialport npm:     | npm install successfully completed
info: serialport npm:     | test suite started
info: passing module(s)   |
info: module name:        | serialport
info: version:            | 0.0.0
info: done                | The smoke test has passed.
info: duration            | test duration: 27340ms

ppc remains skipped as it has not been tested.

Relates to: #994
Relates to: #992

Checklist
  • npm test passes
  • contribution guidelines followed
    here

@abhayagarwal-dev

Copy link
Copy Markdown
Author

@Trott Could you please approve the CI run when you get a chance? Thank you!

@Trott

Trott commented Sep 15, 2026

Copy link
Copy Markdown
Member

@Trott Could you please approve the CI run when you get a chance? Thank you!

I no longer have write permissions on this repository, so my approval doesn't affect the CI run. I guess we should probably have someone from @nodejs/citgm and/or @nodejs/build review and (if appropriate) approve to launch the CI anyway, as I am sufficiently out of the loop that I don't know what the project is doing these days with CITGM, s390x support, and packages like serialport.

@codecov-commenter

codecov-commenter commented Sep 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.20%. Comparing base (81ae2c0) to head (b29f0c5).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1138   +/-   ##
=======================================
  Coverage   96.20%   96.20%           
=======================================
  Files          29       29           
  Lines        2213     2213           
=======================================
  Hits         2129     2129           
  Misses         84       84           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@BethGriggs

Copy link
Copy Markdown
Member

I kicked off some CI runs:

The failure snippet:

 npm error code 1
 npm error path /home/iojs/tmp/citgm_tmp/f942912a/serialport/node_modules/@serialport/bindings-cpp
 npm error command failed
 npm error command sh -c node-gyp-build
 npm error (node:3712942) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
 npm error (Use `node --trace-deprecation ...` to show where the warning was created)
 npm error Traceback (most recent call last):
 npm error   File "/home/iojs/tmp/citgm_tmp/f942912a/serialport/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
 npm error     import gyp  # noqa: E402
 npm error     ^^^^^^^^^^
 npm error   File "/home/iojs/tmp/citgm_tmp/f942912a/serialport/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
 npm error     import gyp.input
 npm error   File "/home/iojs/tmp/citgm_tmp/f942912a/serialport/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
 npm error     from distutils.version import StrictVersion
 npm error ModuleNotFoundError: No module named 'distutils'
 npm error gyp ERR! configure error 
 npm error gyp ERR! stack Error: `gyp` failed with exit code: 1
 npm error gyp ERR! stack     at ChildProcess.onCpExit (/home/iojs/tmp/citgm_tmp/f942912a/serialport/node_modules/node-gyp/lib/configure.js:325:16)
 npm error gyp ERR! stack     at ChildProcess.emit (node:events:514:20)
 npm error gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:323:12)
 npm error gyp ERR! System Linux 5.14.0-687.10.1.el9_8.s390x
 npm error gyp ERR! command "/home/iojs/build/workspace/citgm-smoker/smoker/bin/node" "/home/iojs/tmp/citgm_tmp/f942912a/serialport/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
 npm error gyp ERR! cwd /home/iojs/tmp/citgm_tmp/f942912a/serialport/node_modules/@serialport/bindings-cpp
 npm error gyp ERR! node -v v27.0.0-pre
 npm error gyp ERR! node-gyp -v v9.4.1
 npm error gyp ERR! not ok
 npm error A complete log of this run can be found in: /home/iojs/tmp/citgm_tmp/f942912a/home/.npm/_logs/2026-09-17T12_05_43_345Z-debug-0.log

@abhayagarwal-dev

abhayagarwal-dev commented Sep 17, 2026

Copy link
Copy Markdown
Author

It looks like the failure might be due to a Python environment issue
(ModuleNotFoundError: No module named 'distutils') rather than this change itself.
distutils was removed in Python 3.12, which could be causing node-gyp to fail during
configuration. Could this be related to the infrastructure setup?
Moreover, I am getting
abhayagarwal-dev is missing the Overall/Read permission
when accessing the ci run link

@richardlau

Copy link
Copy Markdown
Member

Machines run Python 3.12.

node-gyp should support that version of Python after nodejs/node-gyp#2923 (by vendoring packaging) from node-gyp@10. However the traceback shows that node-gyp@9 is being run and since it is under serialport/node_modules/node-gyp that is coming from serialport and not node-gyp from the bundled npm.

 npm error gyp ERR! command "/home/iojs/build/workspace/citgm-smoker/smoker/bin/node" "/home/iojs/tmp/citgm_tmp/f942912a/serialport/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
 npm error gyp ERR! cwd /home/iojs/tmp/citgm_tmp/f942912a/serialport/node_modules/@serialport/bindings-cpp
 npm error gyp ERR! node -v v27.0.0-pre
 npm error gyp ERR! node-gyp -v v9.4.1

@abhayagarwal-dev

Copy link
Copy Markdown
Author

Thanks for the detailed explanation! So the fix would need to come from
serialport upgrading their bundled node-gyp from v9 to v10+. Should I
keep this PR open until that's resolved upstream, or would it make more
sense to close it for now?

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.

5 participants