diff --git a/ansible/roles/baselayout/tasks/partials/repo/centos7.yml b/ansible/roles/baselayout/tasks/partials/repo/centos7.yml index ae6c3418d..e9771a6b6 100644 --- a/ansible/roles/baselayout/tasks/partials/repo/centos7.yml +++ b/ansible/roles/baselayout/tasks/partials/repo/centos7.yml @@ -12,20 +12,12 @@ state: present -- name: centos7 | install scl for devtoolset-6 - when: "arch != 'arm64' and arch != 'ppc64'" +- name: centos7 | install scl for devtoolset-6, devtoolset-8 + when: "arch != 'arm64'" yum: name: centos-release-scl state: present -- name: centos7 | ppc64 | install sclo7 devtoolset-6 - when: "arch == 'ppc64'" - yum_repository: - name: sclo7-devtoolset-6 - description: cbs.centos.org sclo7-devtoolset-6-rh-release - baseurl: https://cbs.centos.org/repos/sclo7-devtoolset-6-rh-release/$basearch/os/ - gpgcheck: no - - name: centos7 | aarch64 | install sclo repo when: "arch == 'arm64'" copy: @@ -40,7 +32,8 @@ dest: "/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo" mode: 0644 -- stat: path=/usr/local/bin/python3.7 +- stat: + path: /usr/local/bin/python3.7 register: build_python37 - name: centos7 | ppc64 | download python 3.7 diff --git a/ansible/roles/baselayout/vars/main.yml b/ansible/roles/baselayout/vars/main.yml index a6edd3512..3fa3a71c9 100644 --- a/ansible/roles/baselayout/vars/main.yml +++ b/ansible/roles/baselayout/vars/main.yml @@ -39,11 +39,14 @@ packages: { 'ccache,git2u,gcc-c++,devtoolset-6,sudo', # even need gcc on centos6 so ccache has symlinks ], + # centos-release-scl is required to enable SCLo but we do it manually in + # partials/repo/centos7.yml for arm64 centos7_arm64: ['git'], # git2u not available for aarch64 (yet) - centos7_x64: ['git2u','centos-release-scl',], # centos-release-scl is required to enable SCLo - # but we do it manually in partials/repo/centos7.yml for arm64 + centos7_x64: ['devtoolset-6-libatomic-devel,git2u,centos-release-scl'], + centos7_ppc64: ['devtoolset-6-libatomic-devel,git'], + centos7: [ - 'bzip2-devel,openssl-devel,ccache,gcc-c++,devtoolset-6,sudo,git,devtoolset-6-libatomic-devel,zlib-devel,libffi-devel', + 'bzip2-devel,openssl-devel,ccache,gcc-c++,devtoolset-6,sudo,zlib-devel,libffi-devel,devtoolset-8,devtoolset-8-libatomic-devel', ], aix: [ diff --git a/jenkins/scripts/VersionSelectorScript.groovy b/jenkins/scripts/VersionSelectorScript.groovy index 1a5f98b42..7baf6f46c 100644 --- a/jenkins/scripts/VersionSelectorScript.groovy +++ b/jenkins/scripts/VersionSelectorScript.groovy @@ -21,9 +21,11 @@ def buildExclusions = [ // Linux ------------------------------------------------- [ /^centos6/, releaseType, lt(8) ], [ /^centos6/, anyType, gte(12) ], - [ /centos[67]-(arm)?(64|32)-gcc48/, anyType, gte(10) ], - [ /centos[67]-(arm)?(64|32)-gcc6/, anyType, lt(10) ], - [ /centos6-32-gcc6/, releaseType, gte(10) ], // 32-bit linux for <10 only + [ /^centos[67]-(arm)?(64|32)-gcc48/,anyType, gte(10) ], + [ /^centos[67]-(arm)?(64|32)-gcc6/, anyType, lt(10) ], + [ /^centos[67]-(arm)?(64|32)-gcc6/, anyType, gte(14) ], // 14.x: gcc6 builds stop + [ /^centos7-(arm)?(64)-gcc8/, anyType, lt(14) ], // 14.x: gcc8 builds start + [ /^centos6-32-gcc6/, releaseType, gte(10) ], // 32-bit linux for <10 only [ /^centos7-64/, releaseType, lt(12) ], [ /debian8-x86/, anyType, gte(10) ], // 32-bit linux for <10 only [ /debian8/, anyType, gte(13) ], @@ -35,6 +37,7 @@ def buildExclusions = [ // Linux PPC LE ------------------------------------------ [ /^centos7-ppcle/, anyType, lt(10) ], [ /^ppcle-ubuntu/, releaseType, gte(10) ], + [ /^ppcle-ubuntu/, anyType, gte(14) ], // Linux S390X -------------------------------------------- [ /s390x/, anyType, lt(6) ], @@ -48,6 +51,7 @@ def buildExclusions = [ [ /^cross-compiler-armv[67]-gcc-4.9/, anyType, lt(10) ], [ /^cross-compiler-armv[67]-gcc-4.9/, anyType, gte(12) ], [ /^cross-compiler-armv[67]-gcc-6/, anyType, lt(12) ], + [ /^ubuntu1604-arm64/, anyType, gte(14) ], // Windows ----------------------------------------------- // https://github.com/nodejs/build/blob/master/doc/windows-visualstudio-supported-versions.md diff --git a/jenkins/scripts/select-compiler.sh b/jenkins/scripts/select-compiler.sh index ffbab530b..04bf6aaf3 100644 --- a/jenkins/scripts/select-compiler.sh +++ b/jenkins/scripts/select-compiler.sh @@ -38,6 +38,17 @@ if [ "$SELECT_ARCH" = "PPC64LE" ]; then echo "Setting compiler for Node version $NODEJS_MAJOR_VERSION on ppc64le" case $NODE_NAME in + *centos7* ) + if [ "$NODEJS_MAJOR_VERSION" -gt "13" ]; then + # Setup devtoolset-8, sets LD_LIBRARY_PATH, PATH, etc. + . /opt/rh/devtoolset-8/enable + export CC="ccache ppc64le-redhat-linux-gcc" + export CXX="ccache ppc64le-redhat-linux-g++" + export LINK="ppc64le-redhat-linux-g++" + echo "Compiler set to devtoolset-8" + return + fi + ;; *centos7* ) if [ "$NODEJS_MAJOR_VERSION" -gt "9" ]; then # Setup devtoolset-6, sets LD_LIBRARY_PATH, PATH, etc. @@ -75,7 +86,14 @@ elif [ "$SELECT_ARCH" = "S390X" ]; then echo "Setting compiler for Node version $NODEJS_MAJOR_VERSION on s390x" - if [ "$NODEJS_MAJOR_VERSION" -gt "9" ]; then + if [ "$NODEJS_MAJOR_VERSION" -gt "13" ]; then + # Setup devtoolset-8, sets LD_LIBRARY_PATH, PATH, etc. + . /opt/rh/devtoolset-8/enable + export CC="ccache s390x-redhat-linux-gcc" + export CXX="ccache s390x-redhat-linux-g++" + export LINK="s390x-redhat-linux-g++" + echo "Compiler set to devtoolset-8" + elif [ "$NODEJS_MAJOR_VERSION" -gt "9" ]; then # Setup devtoolset-6, sets LD_LIBRARY_PATH, PATH, etc. . /opt/rh/devtoolset-6/enable export CC="ccache s390x-redhat-linux-gcc" @@ -143,6 +161,10 @@ elif [ "$SELECT_ARCH" = "X64" ]; then echo "Setting compiler for Node version $NODEJS_MAJOR_VERSION on x64" case $nodes in + centos7-64-gcc8 ) + . /opt/rh/devtoolset-8/enable + echo "Compiler set to devtoolset-8" + ;; centos6-64-gcc48 ) . /opt/rh/devtoolset-2/enable echo "Compiler set to devtoolset-2" @@ -166,6 +188,10 @@ elif [ "$SELECT_ARCH" = "ARM64" ]; then case $nodes in + centos7-arm64-gcc8 ) + . /opt/rh/devtoolset-8/enable + echo "Compiler set to devtoolset-8" + ;; centos[67]-arm64-gcc6 ) . /opt/rh/devtoolset-6/enable echo "Compiler set to devtoolset-6" diff --git a/tools/build-p-ssh-hosts.sh b/tools/build-p-ssh-hosts.sh index 93a53eb9f..cb086425e 100755 --- a/tools/build-p-ssh-hosts.sh +++ b/tools/build-p-ssh-hosts.sh @@ -21,11 +21,13 @@ grep -- 'armv7l_pi2' hosts/all > hosts/armv7l_pi2 grep -- 'centos6-x64' hosts/all > hosts/centos6-x64 grep -- 'centos7-ppc64_le' hosts/all > hosts/centos7-ppc64_le grep -- 'centos7-ppc64_le' hosts/all > hosts/centos7-ppc64_le +grep -- 'centos7' hosts/all > hosts/centos7 grep -- 'digitalocean' hosts/all > hosts/digitalocean grep -- 'infra-' hosts/all > hosts/infra grep -- 'joyent' hosts/all > hosts/joyent grep -- 'release-' hosts/all > hosts/release grep -- 'rhel7-s390x' hosts/all > hosts/rhel7-s390x +grep -- 'rhel7.*-s390x' hosts/all > hosts/rhel7x-s390x grep -- 'smartos' hosts/all > hosts/smartos grep -- 'softlayer' hosts/all > hosts/softlayer grep -- 'test-' hosts/all > hosts/test