-
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
CentOS 6 Update + devtoolset-6 option #1223
Conversation
Oh yeah, and I also included a way to upgrade git on here, so they're running git 2.16 instead of 1.17 and I'm hoping this will clear up some more of those Jenkins git clone errors that appear sometimes. Debian 8 would be the remaining troublemaker so I'll have to figure out a git upgrade for that next. |
so .... https://ci.nodejs.org/job/node-test-commit-linux/17808/nodes=centos7-64/ ... it looks like I need to do the same thing to CentOS7 eh @seishun?
|
A commit that requires gcc 4.9 successfully builds on CentOS 6 again: https://ci.nodejs.org/job/node-test-commit-linux/17808/nodes=centos6-64-gcc6/
Correct, CentOS 7 requires an upgrade too. I intended to work on that once #1034 is resolved. |
OK, I've implemented some of the same changes for CentOS 7
I've updated the VersionSelectorScript to choose between if test $nodes = "centos6-64-gcc48"; then
exec_cmd=". /opt/rh/devtoolset-2/enable; $exec_cmd"
elif [[ "$nodes" =~ centos[67]-(arm)?64-gcc6 ]]; then
exec_cmd=". /opt/rh/devtoolset-6/enable; $exec_cmd"
fi i.e. centos6 uses devtoolset-2 to get gcc4.8, centos7 has it natively, but they both use devtoolset-6 to get gcc6 And node-test-commit-arm, which is already doing Debian selection for Node version, has been amended to have the second rule since it only has centos7: if [[ "$nodes" =~ centos[67]-(arm)?64-gcc6 ]]; then
exec_cmd=". /opt/rh/devtoolset-6/enable; $exec_cmd"
fi Running master and v8.x on them both now and I have submitted a rerun of @seishun PR with gcc 4.8 incompatible c++ @ https://ci.nodejs.org/job/node-test-commit/17630/ |
It seems it didn't work: https://ci.nodejs.org/job/node-test-commit-linux/17849/nodes=centos7-64/ |
Yeah, it did work, https://ci.nodejs.org/job/node-test-commit-linux/17849/nodes=centos7-64-gcc6/ After that run I realised I didn't remove the centos7-64 label when I added in both centos7-64-gcc48 and centos7-64-gcc6. So the job you're linking to was just a vanilla centos7, same configuration as centos7-64-gcc48 which shouldn't have run. It was removed after that run. Here's your PR again https://ci.nodejs.org/job/node-test-commit-linux/17861/ |
FYI the only genuine failure remaining in that PR is aix61-ppc64, the other failures are all the same flaky which is currently being fixed in master. So we're close. |
Made this work against centos6 release machines, it took a bit of tweaking, however. Unfortunately there's no official devtoolset-6 from SCLo for x86 so I had to use someone's custom build in Copr https://copr.fedorainfracloud.org/coprs/mlampe/devtoolset-6.1/ Latest nightlies were rebuilt with this config, https://nodejs.org/download/nightly/v10.0.0-nightly2018041142d8976dff/ and I've requested testing @ nodejs/node#19091 (comment) but I don't imagine there's going to be many people using testing & nightly builds with older Linuxes. |
Didn't we decide to drop 32-bit Linux builds? #885 |
Trying again with a new version of my last CentOS 6 PR. This one includes most of those changes but takes a slightly different approach to a few things.
Most notably, it includes devtoolset-2 and devtoolset-6 and doesn't include them in the PATH anywhere.
Instead, what I've done is given the two workers "centos6-64-gcc48" and "centos6-64-gcc6", assigned both labels to node-test-commit-linux and included this in the VersionSelectorScript:
Unfortunately that's not enough so I've also edited Jenkins so it makes the PATH adjustments (note that this is for all Linuxes so it has to be generic too):
(the previous version just executed the command directly)
And it's working nicely in ci now. Node
master
(10+) compiles with gcc6, everything else with gcc4.8.ci-release hasn't been done yet, it probably needs exactly the same treatment.
@seishun