zeromq.js icon indicating copy to clipboard operation
zeromq.js copied to clipboard

CITGM compatibility / cmake usage

Open BridgeAR opened this issue 5 years ago • 6 comments

Is your feature request related to a problem? Please describe.

zeromq is currently tested on citgm as kind of smoke test to guarantee that it does not break in case Node.js internals change. Due to the recent move to cmake it's not possible to compile it anymore on our infrastructure.

Describe the solution you'd like

Please indicate if it's possible to move away from the cmake requirement. Removing that dependency would make it possible to run the test suite again with CITGM so that we are able to provide stable Node.js releases.

Otherwise we have to remove zeromq from CITGM and that would be not be ideal.

Refs: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2134/nodes=osx1011/testReport/junit/(root)/citgm/zeromq_v6_0_0_beta_5/ (Only available for ~7 days)

BridgeAR avatar Dec 17 '19 09:12 BridgeAR

ZeroMQ (libzmq) itself uses CMake exclusively for Windows builds and optionally for other platforms, and we're following along that path. Using & supporting two different build systems is not really something I'm looking forward to.

Is it at all a possibility to include CMake in the test image? It should be as simple as adding the OS package for CMake.

rolftimmermans avatar Dec 17 '19 09:12 rolftimmermans

I am not sure if the optional part works properly. It does fail with a hard error in case cmake is not available on OSX and Linux.

Refs: https://github.com/nodejs/build/issues/2097

BridgeAR avatar Dec 17 '19 09:12 BridgeAR

No, we do use CMake exclusively, that's correct. CMake for libzmq is optional, but CMake for zeromq.js is required ATM, because it ensures a uniform way to build the project across all platforms. If CMake were optional we'd have to support multiple build systems (CMake + autotools), which would be quite a big time sink and not necessary at all from the perspective of this project.

To be honest I think CMake is the de-facto system to build C++/C projects in a consistent manner across Windows + *nix platforms so it would be nice to have it more adopted in the Node community. It's quite simple to install, too...

(For dependency-free Node add-on projects using only Gyp might be fine, but libzmq is obviously a huge component of this library.)

rolftimmermans avatar Dec 17 '19 09:12 rolftimmermans

@rolftimmermans we are trying to get everything set up properly. Our infrastructure is just quite complex and have lots of systems to maintain but only few maintainers. That is probably the main issue on our side (I am not part of the Node.js build working group).

Sounds like we'll have to keep zeromq deactivated until we are able to provide cmake on our side. Thank you for your fast response though! I'll keep this issue open until it's resolved on our side, if that's fine for you.

BridgeAR avatar Dec 17 '19 10:12 BridgeAR

Yes, sure! Can I assist in any way to get CMake set up on the appropriate build images?

rolftimmermans avatar Dec 17 '19 10:12 rolftimmermans

Thank you very much the offer. If you would like to become involved with Node.js, that would be great! Please feel free to reach out to the build working group to ask in what way you could get involved. I guess direct access is not possible but help is always appreciated!

BridgeAR avatar Dec 17 '19 10:12 BridgeAR