Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci,libuv: http://ci.nodejs.org/downloads/zos/gyp.tar.gz? #2172

Closed
bnoordhuis opened this issue Feb 10, 2020 · 7 comments
Closed

ci,libuv: http://ci.nodejs.org/downloads/zos/gyp.tar.gz? #2172

bnoordhuis opened this issue Feb 10, 2020 · 7 comments
Labels

Comments

@bnoordhuis
Copy link
Member

Some of the libuv buildbots seem to use a... bespoke?... copy of gyp:

https://ci.nodejs.org/job/libuv-test-commit-osx/1748/nodes=osx1011/console

+ mkdir build/gyp
+ curl -s http://ci.nodejs.org/downloads/zos/gyp.tar.gz
+ tar xvf - -C build/gyp/
$ curl -q --head http://ci.nodejs.org/downloads/zos/gyp.tar.gz | grep Last-Modified
Last-Modified: Wed, 27 Sep 2017 21:43:14 GMT

Does anyone know/remember why things are set up this way? I was thinking of extracting node's tools/gyp to https://github.com/libuv/gyp (so people can still build with a somewhat maintained version of gyp) and then switch over the CI to use that.

(Libuv's readme currently points people to chromium's obsolete copy of gyp.)

bnoordhuis added a commit to bnoordhuis/libuv that referenced this issue Feb 10, 2020
The original upstream hasn't been maintained for some time now.

I've copied https://github.com/nodejs/node/tree/master/tools/gyp to
https://github.com/libuv/gyp after stripping it down a bit. Let's
point users to that. I'll work on getting it tested on the CI, too.

Refs: libuv/help#126
Refs: nodejs/build#2172
@bnoordhuis
Copy link
Member Author

Similar question for the Windows buildbots:

08:44:24 C:\workspace\libuv-test-commit-windows\nodes\win2008r2-vs2017>xcopy c:\gyp build\gyp /e /i /h /c /q /y

@richardlau
Copy link
Member

Does anyone know/remember why things are set up this way?

I have no idea why the macOS builds would be pulling down the http://ci.nodejs.org/downloads/zos/gyp.tar.gz as that's presumably a copy of gyp with patches for z/OS.

$ curl -q --head http://ci.nodejs.org/downloads/zos/gyp.tar.gz | grep Last-Modified
Last-Modified: Wed, 27 Sep 2017 21:43:14 GMT

The above last modified puts this in the timeframe when z/OS support was initially upstreamed to gyp (https://chromium-review.googlesource.com/c/external/gyp/+/644712/). As far as I'm aware none of the z/OS patches for gyp are in Node.js' tools/gyp (which is probably an indication of how often we updated gyp in Node.js), although they did make it into node-gyp (nodejs/node-gyp#1276).

@richardlau
Copy link
Member

cc @nodejs/platform-s390

@richardlau
Copy link
Member

Another reason for using the tarball on z/OS is that the z/OS port of git doesn't support https URLs: https://forum.rocketsoftware.com/t/git-and-https-repositories/482.

@rvagg
Copy link
Member

rvagg commented Feb 11, 2020

Re macOS + z/OS: 🤷‍♂ another Jenkins mystery we'll never solve I suspect. Let's get that switched, perhaps a genuine mistake on someone's part.

Re Windows, what's the problem there? Don't you need to add in a GYP to make it compile with GYP? IIRC we setup a bunch of the libuv build machines with static GYP installs that we copied into place.

Re GYP version:

Hopefully we'll have one true GYP sooner than later. I want to cut a node-gyp@7 with that PR merged soon.

@bnoordhuis
Copy link
Member Author

Re Windows, what's the problem there?

That it's not cloned from anywhere but copied from the local file system. It makes me wonder how old that copy of gyp is. :-)

FWIW, the consensus within the libuv team is that we'll just drop support for GYP and move the build files downstream so I'll go ahead and close out the issue. Cheers!

@richardlau
Copy link
Member

richardlau commented Feb 11, 2020

Another reason for using the tarball on z/OS is that the z/OS port of git doesn't support https URLs: https://forum.rocketsoftware.com/t/git-and-https-repositories/482.

# zos does not support https:// with git and chromium
# only provides an https endpoint. We store on ci
# instead

although I have come across a GitHub mirror if we wanted to pull down via git+ssh: https://github.com/chromium/gyp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants