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

ansible,jenkins: install gcc-7 on ubuntu1604 machines, use on node>12 #1975

Merged
merged 1 commit into from
Oct 23, 2019

Conversation

rvagg
Copy link
Member

@rvagg rvagg commented Oct 21, 2019

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.

Copy link
Contributor

@sam-github sam-github left a 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.

@mhdawson
Copy link
Member

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?

@rvagg
Copy link
Member Author

rvagg commented Oct 23, 2019

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.
I've downgraded in the latest commit. I'll assume approval and merge and start testing this a bit later.

@rvagg rvagg force-pushed the rvagg/ubuntu1604-gcc-update branch from b8c4ec5 to 8c681e9 Compare October 23, 2019 02:24
@rvagg rvagg merged commit 777e728 into master Oct 23, 2019
@rvagg rvagg deleted the rvagg/ubuntu1604-gcc-update branch October 23, 2019 02:24
@rvagg
Copy link
Member Author

rvagg commented Oct 23, 2019

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:

curl -sLO https://raw.githubusercontent.com/nodejs/build/master/jenkins/scripts/select-compiler.sh
. ./select-compiler.sh

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.

@rvagg
Copy link
Member Author

rvagg commented Oct 23, 2019

btw I ran this playbook against:

test-nearform_intel-ubuntu1604-x64-1
test-nearform_intel-ubuntu1604-x64-2
test-packetnet-ubuntu1604-x64-1 jenkins-workspace-1
test-packetnet-ubuntu1604-x64-2 jenkins-workspace-2
test-softlayer-ubuntu1604-x64-1 jenkins-workspace-3
test-rackspace-ubuntu1604-x64-1
test-rackspace-ubuntu1604-x64-2

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.

@targos
Copy link
Member

targos commented Oct 23, 2019

This broke citgm-smoker on AIX: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2075/nodes=aix61-ppc64/console

15:06:50 /tmp/jenkins3289696872254253027.sh[4]: 0403-057 Syntax error at line 125 : `=~' is not expected.

@richardlau
Copy link
Member

This broke citgm-smoker on AIX: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2075/nodes=aix61-ppc64/console

15:06:50 /tmp/jenkins3289696872254253027.sh[4]: 0403-057 Syntax error at line 125 : `=~' is not expected.

Should have been fixed by #1994.

@richardlau
Copy link
Member

This broke citgm-smoker on AIX: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2075/nodes=aix61-ppc64/console

15:06:50 /tmp/jenkins3289696872254253027.sh[4]: 0403-057 Syntax error at line 125 : `=~' is not expected.

Should have been fixed by #1994.

Also one of the "Execute shell" steps was missing #!/bin/bash (the step that failed). I've added the shebang 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