Merge topic 'ci-intel-compilers'

1610c0f034 gitlab-ci: add jobs testing Intel oneAPI compilers on Linux
c076833310 gitlab-ci: add jobs testing Intel Classic compilers on Linux
5ea928d9d2 gitlab-ci: factor out job dependencies on release-style binaries
402518904f gitlab-ci: add rules to enable jobs only in a nightly pipeline schedule
747940157f gitlab-ci: init environment with per-CMAKE_CONFIGURATION shell scripts
256c320fb6 gitlab-ci: add variable for job to control its ctest build name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5920
This commit is contained in:
Brad King
2021-03-18 13:41:07 +00:00
committed by Kitware Robot
12 changed files with 315 additions and 17 deletions
+207 -16
View File
@@ -115,10 +115,7 @@ test:debian10-ninja:
- .cmake_test_linux_release
- .linux_builder_tags_qt
- .run_dependent
dependencies:
- build:centos6-x86_64
needs:
- build:centos6-x86_64
- .needs_centos6_x86_64
test:debian10-aarch64-ninja:
extends:
@@ -126,10 +123,7 @@ test:debian10-aarch64-ninja:
- .cmake_test_linux_release
- .linux_builder_tags_aarch64_qt
- .run_dependent
dependencies:
- build:centos7-aarch64
needs:
- build:centos7-aarch64
- .needs_centos7_aarch64
variables:
CMAKE_CI_NO_MR: "true"
@@ -139,10 +133,7 @@ test:fedora33-makefiles:
- .cmake_test_linux_release
- .linux_builder_tags_qt
- .run_dependent
dependencies:
- build:centos6-x86_64
needs:
- build:centos6-x86_64
- .needs_centos6_x86_64
test:cuda10.2-nvidia:
extends:
@@ -150,10 +141,7 @@ test:cuda10.2-nvidia:
- .cmake_test_linux_release
- .linux_builder_tags_cuda
- .run_dependent
dependencies:
- build:centos6-x86_64
needs:
- build:centos6-x86_64
- .needs_centos6_x86_64
build:fedora33-ninja:
extends:
@@ -186,6 +174,209 @@ test:fedora33-ninja-multi:
needs:
- test:fedora33-ninja
test:intel2016-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2016_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2016-centos7
test:intel2016u1-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2016u1_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2016u1-centos7
test:intel2016u2-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2016u2_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2016u2-centos7
test:intel2017-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2017_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017-centos7
test:intel2017u1-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2017u1_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u1-centos7
test:intel2017u2-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2017u2_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u2-centos7
test:intel2017u3-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2017u3_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u3-centos7
test:intel2017u4-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2017u4_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u4-centos7
test:intel2017u5-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2017u5_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u5-centos7
test:intel2017u6-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2017u6_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u6-centos7
test:intel2017u7-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2017u7_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u7-centos7
test:intel2017u8-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2017u8_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u8-centos7
test:intel2018-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2018_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018-centos7
test:intel2018u1-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2018u1_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u1-centos7
test:intel2018u2-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2018u2_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u2-centos7
test:intel2018u3-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2018u3_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u3-centos7
test:intel2018u4-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2018u4_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u4-centos7
test:intel2019-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2019_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019-centos7
test:intel2019u1-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2019u1_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u1-centos7
test:intel2019u2-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2019u2_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u2-centos7
test:intel2019u3-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2019u3_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u3-centos7
test:intel2019u4-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2019u4_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u4-centos7
test:intel2020-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2020_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2020-rhel8
test:intel2020u2-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2020u2_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2020u2-rhel8
test:intel2020u4-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2020u4_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2020u4-rhel8
test:intel2021.1.1-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2021.1.1_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.1-rhel8
test:intel2021.1.2-makefiles:
extends:
- .cmake_test_linux_intelclassic_makefiles
variables:
CMAKE_CI_BUILD_NAME: intel2021.1.2_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.2-rhel8
test:oneapi2021.1.1-makefiles:
extends:
- .cmake_test_linux_inteloneapi_makefiles
variables:
CMAKE_CI_BUILD_NAME: oneapi2021.1.1_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.1-rhel8
test:oneapi2021.1.2-makefiles:
extends:
- .cmake_test_linux_inteloneapi_makefiles
variables:
CMAKE_CI_BUILD_NAME: oneapi2021.1.2_makefiles
CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.2-rhel8
build:linux-x86_64-package:
extends:
- .linux_package
@@ -0,0 +1 @@
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
@@ -0,0 +1 @@
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
+14
View File
@@ -0,0 +1,14 @@
quietly() {
readonly log="/tmp/quietly-$RANDOM.log"
if ! "$@" >"$log" 2>&1; then
ret=$?
cat "$log"
rm -f "$log"
exit $ret
fi
rm -f "$log"
}
if test -r ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"; then
source ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"
fi
+9
View File
@@ -0,0 +1,9 @@
source .gitlab/ci/env_intelcompiler_license.sh
if test -r /opt/intel/oneapi/setvars.sh; then
source /opt/intel/oneapi/setvars.sh
elif test -r /opt/intel/bin/compilervars.sh; then
source /opt/intel/bin/compilervars.sh intel64
fi
export CC=icc CXX=icpc FC=ifort
+1
View File
@@ -0,0 +1 @@
source .gitlab/ci/env_intelclassic_common.sh
+8
View File
@@ -0,0 +1,8 @@
if test -n "$CMAKE_CI_INTELCOMPILER_LICENSE"; then
if test -d /opt/intel/licenses; then
mv "$CMAKE_CI_INTELCOMPILER_LICENSE" /opt/intel/licenses/ci.lic
else
rm "$CMAKE_CI_INTELCOMPILER_LICENSE"
fi
unset CMAKE_CI_INTELCOMPILER_LICENSE
fi
+7
View File
@@ -0,0 +1,7 @@
source .gitlab/ci/env_intelcompiler_license.sh
if test -r /opt/intel/oneapi/setvars.sh; then
source /opt/intel/oneapi/setvars.sh
fi
export CC=icx CXX=icpx FC=ifx
+1
View File
@@ -0,0 +1 @@
source .gitlab/ci/env_inteloneapi_common.sh
+5 -1
View File
@@ -17,7 +17,11 @@ if ("$ENV{CMAKE_CONFIGURATION}" STREQUAL "")
endif ()
# Set the build metadata.
set(CTEST_BUILD_NAME "$ENV{CI_PROJECT_NAME}-$ENV{CMAKE_CONFIGURATION}")
if(NOT "$ENV{CMAKE_CI_BUILD_NAME}" STREQUAL "")
set(CTEST_BUILD_NAME "$ENV{CI_PROJECT_NAME}-$ENV{CMAKE_CI_BUILD_NAME}")
else()
set(CTEST_BUILD_NAME "$ENV{CI_PROJECT_NAME}-$ENV{CMAKE_CONFIGURATION}")
endif()
set(CTEST_SITE "gitlab-ci")
set(ctest_model "Experimental")
+55
View File
@@ -30,6 +30,18 @@
variables:
BOOTSTRAP_ARGS: '-- "-DCMake_DOC_ARTIFACT_PREFIX=$CI_PROJECT_DIR/build/install-doc"'
.needs_centos6_x86_64:
dependencies:
- build:centos6-x86_64
needs:
- build:centos6-x86_64
.needs_centos7_aarch64:
dependencies:
- build:centos7-aarch64
needs:
- build:centos7-aarch64
### Debian
.debian10:
@@ -128,6 +140,27 @@
CTEST_NO_WARNINGS_ALLOWED: 1
CMAKE_GENERATOR: "Unix Makefiles"
### Intel Compiler
.intelcompiler:
image: "kitware/intelcompiler:$CMAKE_CI_INTELCOMPILER_IMAGE_TAG"
environment:
name: intel-compiler
variables:
CMAKE_ARCH: x86_64
.intelclassic_makefiles:
extends: .intelcompiler
variables:
CMAKE_CONFIGURATION: intelclassic_makefiles
CMAKE_GENERATOR: "Unix Makefiles"
.inteloneapi_makefiles:
extends: .intelcompiler
variables:
CMAKE_CONFIGURATION: inteloneapi_makefiles
CMAKE_GENERATOR: "Unix Makefiles"
### CUDA builds
.cuda10.2:
@@ -195,6 +228,7 @@
## Linux-specific scripts
.before_script_linux: &before_script_linux
- source .gitlab/ci/env.sh
- .gitlab/ci/cmake.sh
- .gitlab/ci/ninja.sh
- export PATH=$PWD/.gitlab:$PWD/.gitlab/cmake/bin:$PATH
@@ -251,6 +285,7 @@
stage: build
script:
- source .gitlab/ci/env.sh
# Bootstrap.
- mkdir -p build/
# Exclude documentation. A job dependency provides it for packaging.
@@ -313,3 +348,23 @@
- sccache --show-stats
interruptible: true
.cmake_test_linux_intelclassic_makefiles:
extends:
- .intelclassic_makefiles
- .cmake_test_linux_release
- .linux_builder_tags_qt
- .run_manually
- .needs_centos6_x86_64
variables:
CMAKE_CI_JOB_NIGHTLY: "true"
.cmake_test_linux_inteloneapi_makefiles:
extends:
- .inteloneapi_makefiles
- .cmake_test_linux_release
- .linux_builder_tags_qt
- .run_manually
- .needs_centos6_x86_64
variables:
CMAKE_CI_JOB_NIGHTLY: "true"
+6
View File
@@ -6,6 +6,8 @@
when: never
- if: '$CMAKE_CI_NIGHTLY == "true"'
when: on_success
- if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
when: never
- if: '($CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != "" && $CI_COMMIT_BRANCH == $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true")'
when: delayed
start_in: 5 minutes
@@ -24,6 +26,8 @@
when: never
- if: '$CMAKE_CI_NIGHTLY == "true"'
when: on_success
- if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
when: never
- if: '($CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != "" && $CI_COMMIT_BRANCH == $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true")'
when: on_success
- if: '($CMAKE_CI_NO_MR == "true" && $CI_MERGE_REQUEST_ID)'
@@ -42,6 +46,8 @@
when: always
- if: '$CMAKE_CI_NIGHTLY == "true"'
when: on_success
- if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
when: never
- if: '($CMAKE_CI_NO_MR == "true" && $CI_MERGE_REQUEST_ID)'
when: never
- if: '$CI_MERGE_REQUEST_ID'