You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Use devtoolset-8 on Centos/RHEL for Node.js 14+ #2242
Previous link pointed to an entire repo, which included all the rpms, I think the single rpm alone is not sufficient -- but I'll try tomorrow and see how it goes.
I think we could take the simple approach do this globally, for everything on CentOS. We'll presumably have non-CentOS machines running other versions of GCC. It means we'll have a gap in testing (old GCC on CentOS) but I don't think that's a bad compromise considering the complexity it'll induce if we try and be more exhaustive.
[centos@release-osuosl-centos7-ppc64--le-1 tmp]$ ls /opt/rh/
devtoolset-6 devtoolset-8
[centos@release-osuosl-centos7-ppc64--le-1 tmp]$ ls /opt/rh/devtoolset-8
enable root
[centos@release-osuosl-centos7-ppc64--le-1 tmp]$ . /opt/rh/devtoolset-8/enable
[centos@release-osuosl-centos7-ppc64--le-1 tmp]$ which gcc
/opt/rh/devtoolset-8/root/usr/bin/gcc
[centos@release-osuosl-centos7-ppc64--le-1 tmp]$ gcc --version
gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Looks like changes that install devtoolset-6-libatomic-devel don't work on test-packetnet-centos7-arm64-2. Its not clear why, its not a clear package-not-found, or, perhaps it is? Its trying to get it from http://centosn7.centos.org/altarch/7.7.1908/sclo/aarch64/rh/devtoolset-6, which doesn't exist.
But, that doesn't seem to be an issue, we seem to have been doing fine without it, so I moved it out of the centos7 common in #2262
FTR:
[root@test-packetnet-centos7-arm64-2 yum.repos.d]# yum install devtoolset-6-libatomic-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: packet04.centos.org
* centos-sclo-rh: centosn7.centos.org
* epel: ewr.edge.kernel.org
* extras: centosm7.centos.org
* updates: centosg7.centos.org
Resolving Dependencies
--> Running transaction check
---> Package devtoolset-6-libatomic-devel.aarch64 0:6.3.1-3.1.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
devtoolset-6-libatomic-devel aarch64 6.3.1-3.1.el7 centos-sclo-rh 15 k
Transaction Summary
===============================================================================================
Install 1 Package
Total download size: 15 k
Installed size: 110 k
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
devtoolset-6-libatomic-devel-6 FAILED
http://centosn7.centos.org/altarch/7.7.1908/sclo/aarch64/rh/devtoolset-6/devtoolset-6-libatomic-devel-6.3.1-3.1.el7.aarch64.rpm: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
... a dozen other failing mirrors
@sam-github can you try with an explicit -i ~/.ssh/nodejs_build_release on that ssh? I'm getting in fine and the release pubkey is in .ssh/authorized_keys. You'll have to find the jenkins node secret from jenkins itself or on the machine itself to put it in secrets repo. When inventory.yml was originally set up with secrets, many of them weren't added in (because it was tedious) so we're all responsible for adding them in as we find them missing.
I think maybe we need a gcc -v; g++ -v before make in these builds. I can't tell for sure what version it's invoking after the devtoolset setup and ccache environment variable prepend. It looks correct but I'd have to grab a binary to be sure.
I could change the configure script to log the versions when run with --verbose (which I think we do on the CI). The script already parses the compiler versions to check and warn if the detected compiler is not new enough.
Is it intended that 14.x build against ubuntu1604-arm64?
Its not excluded for any arm builds ATM, but it's EOL, I think it should have been excluded, or at least, should be excluded for anyType gte(14.x), and perhaps even 12.x. Note that its excluded from release right now by virtue of no machine having that label, so doesn't need .groovy exclusion.
I am pushing a commit to exclude ubuntu14-04 onto #2262 , tell me if I got it wrong.
Activity
rvagg commentedon Mar 23, 2020
do we have ansible changes ready for this to run?
sam-github commentedon Mar 23, 2020
devtoolset-6, the rpms weren't publically available, but I don't think we've looked yet into the situation for devtoolset-8
sam-github commentedon Apr 2, 2020
Some questions about this:
sam-github commentedon Apr 2, 2020
I need #2220 to even look into non-IBM machines (for IBM hosted platforms, I have special access from #1721)
sam-github commentedon Apr 2, 2020
Can't get it from (some of) the default repos yet, will have to look further afield:
richardlau commentedon Apr 2, 2020
Maybe https://cbs.centos.org/koji/buildinfo?buildID=26229?
sam-github commentedon Apr 3, 2020
Previous link pointed to an entire repo, which included all the rpms, I think the single rpm alone is not sufficient -- but I'll try tomorrow and see how it goes.
rvagg commentedon Apr 3, 2020
I think we could take the simple approach do this globally, for everything on CentOS. We'll presumably have non-CentOS machines running other versions of GCC. It means we'll have a gap in testing (old GCC on CentOS) but I don't think that's a bad compromise considering the complexity it'll induce if we try and be more exhaustive.
sam-github commentedon Apr 3, 2020
Installed on release-osuosl-centos7-ppc64_le-1
sam-github commentedon Apr 3, 2020
gpg keys were bad for test-softlayer-centos7-x64-1, fixed with advice from https://jc-lan.org/2019/12/14/error-when-updating-centos-7-gpg-keys-are-not-correct-for-this-package/
Now it fails with "At least 32MB more space needed on the /boot filesystem."
sam-github commentedon Apr 3, 2020
test-rackspace-centos7-x64-1 doesn't accept git as a package name, once I pushed a fix for that onto #2262 , it installed devtoolset-8
sam-github commentedon Apr 3, 2020
Looks like changes that install devtoolset-6-libatomic-devel don't work on test-packetnet-centos7-arm64-2. Its not clear why, its not a clear package-not-found, or, perhaps it is? Its trying to get it from http://centosn7.centos.org/altarch/7.7.1908/sclo/aarch64/rh/devtoolset-6, which doesn't exist.
But, that doesn't seem to be an issue, we seem to have been doing fine without it, so I moved it out of the centos7 common in #2262
FTR:
EDIT: after the fix, installed devtoolset-8 OK.
sam-github commentedon Apr 3, 2020
@rvagg I'm having trouble accessing an arm release machine, could you check the release key is authorized for it? I see:
EDIT: same on release-digitalocean-centos7-x64-1
sam-github commentedon Apr 3, 2020
release-packetnet-centos7-arm64-1 has two issues:
rvagg commentedon Apr 6, 2020
@sam-github can you try with an explicit
-i ~/.ssh/nodejs_build_releaseon that ssh? I'm getting in fine and the release pubkey is in .ssh/authorized_keys. You'll have to find the jenkins node secret from jenkins itself or on the machine itself to put it in secrets repo. When inventory.yml was originally set up with secrets, many of them weren't added in (because it was tedious) so we're all responsible for adding them in as we find them missing.7 remaining items
richardlau commentedon Apr 8, 2020
I could change the
configurescript to log the versions when run with--verbose(which I think we do on the CI). The script already parses the compiler versions to check and warn if the detected compiler is not new enough.Edit: nodejs/node#32715
richardlau commentedon Apr 8, 2020
With nodejs/node#32715:
https://ci.nodejs.org/job/node-test-commit-plinux-sam-github/2/nodes=centos7-ppcle/
https://ci.nodejs.org/job/node-test-commit-linuxone-sam-github/3/nodes=rhel7-s390x/
https://ci.nodejs.org/job/node-test-commit-linux-sam-github/2/nodes=centos7-64-gcc8/
rvagg commentedon Apr 8, 2020
sweet, thanks @richardlau, lgtm then.
sam-github commentedon Apr 8, 2020
v12.x: node-test-commit-linux, all platforms: https://ci.nodejs.org/job/node-test-commit-linux-sam-github/3/
sam-github commentedon Apr 8, 2020
@rvagg https://ci.nodejs.org/job/node-test-commit-arm/30615/
Is it intended that 14.x build against ubuntu1604-arm64?
Its not excluded for any arm builds ATM, but it's EOL, I think it should have been excluded, or at least, should be excluded for anyType gte(14.x), and perhaps even 12.x. Note that its excluded from release right now by virtue of no machine having that label, so doesn't need .groovy exclusion.
I am pushing a commit to exclude ubuntu14-04 onto #2262 , tell me if I got it wrong.
cc: @nodejs/platform-arm @nodejs/build
rvagg commentedon Apr 9, 2020
No, we should probably remove 1604-arm64.
ansible: install devtoolset-8 on centos7
ansible: install devtoolset-8 on centos7
sam-github commentedon Apr 9, 2020
#2262 landed, making ci/ci-release config changes.
sam-github commentedon Apr 9, 2020
Configured, kicked off test builds of 3 relevant jobs for master+12.x
sam-github commentedon Apr 9, 2020
kicked node-test-commit-arm off on master again, it was missing the bits of select-compiler.sh that are pasted into it, see #2279
sam-github commentedon Apr 9, 2020
arm and x86 for iojs+release required some extra bits in their config, rerunning.
sam-github commentedon Apr 9, 2020
https://ci-release.nodejs.org/job/iojs+release/5882/nodes=centos7-arm64-gcc8/consoleFull looks OK:
https://ci-release.nodejs.org/job/iojs+release/5882/nodes=centos7-ppcle-release-64/consoleFull looks OK:
https://ci-release.nodejs.org/job/iojs+release/5882/nodes=centos7-64-gcc8/consoleFull (x64) looks OK, but is still building:
https://ci-release.nodejs.org/job/iojs+release/5882/nodes=rhel7-s390x-release/consoleFull looks OK:
sam-github commentedon Apr 9, 2020
I think this is done, but it could use a sanity check.