-
Notifications
You must be signed in to change notification settings - Fork 166
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
ansible,jenkins: install gcc-7 on ubuntu1604 machines, use on node>12 #1975
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks reasonable, and I think select-compiler is a pretty transparent and useful way to describe the compiler version requirements per/node release.
Is gcc7 easier to install than gcc6. Just wondering why that version versus the 6.x which is listed as the mininum level for Node 12 and greater. Is this a step towards moving up the minimum? |
yeah, good question @mhdawson, I had a list in front of me and 6 wasn't on it, can't recall where that list was from but 6 is in the toolchains repo. |
e119957
to
b8c4ec5
Compare
b8c4ec5
to
8c681e9
Compare
A couple of minor tweaks to select-compiler.sh once I got it into CI but it's working as expected and selecting the right compilers for Ubuntu 16.04 across supported release lines as well as CentOS 6 and 7 and the small amount of Bash in Jenkins that was doing that job has been removed in favour of this. This is what's node-test-commit-linux now:
node-test-commit-v8-linux got updated too so this is run in all cases, not just the IBM platforms, so it should be doing the right thing with Ubuntu 16.04 but I haven't tested that yet. |
btw I ran this playbook against: test-nearform_intel-ubuntu1604-x64-1 The two packet.net Jenkins workspaces had Node 8 installed on them from the NodeSource repos, it was removed from the playbook. I can't think of what this might be. The binary_tmp repo runs on each of these but is hardwired to the softlayer machine at the moment which I don't think had it. Running the playbook on the softlayer machine did mess up the binary_tmp repo though, it had dangling refs in it that wouldn't clean up automatically. I resorted to removing the files from refs/ and it seems to be working again. |
This broke citgm-smoker on AIX: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2075/nodes=aix61-ppc64/console
|
Should have been fixed by #1994. |
Also one of the "Execute shell" steps was missing |
Ref: #1970
This will build Node >=13 with GCC 7 on Ubuntu 16.04 and the default GCC 5 compiler below that.
I've tried out the ansible config on one of the ubuntu1604-x64 machines and it works fine, leaves the default compiler as 5 but 7 is available.
I've not tested the select-compiler.sh script that's included here, we've not used it beyond the IBM machines but it's probably time to get some of the logic out of Jenkins and into GitHub for the other machines. Some sanity checking before I attempt to test it out would be helpful.