mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-21 13:48:33 -05:00
Merge topic 'ci-intel-compilers'
1610c0f034gitlab-ci: add jobs testing Intel oneAPI compilers on Linuxc076833310gitlab-ci: add jobs testing Intel Classic compilers on Linux5ea928d9d2gitlab-ci: factor out job dependencies on release-style binaries402518904fgitlab-ci: add rules to enable jobs only in a nightly pipeline schedule747940157fgitlab-ci: init environment with per-CMAKE_CONFIGURATION shell scripts256c320fb6gitlab-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:
+207
-16
@@ -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")
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
source .gitlab/ci/env_intelclassic_common.sh
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
source .gitlab/ci/env_inteloneapi_common.sh
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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,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'
|
||||
|
||||
Reference in New Issue
Block a user