summaryrefslogtreecommitdiffstats
path: root/.gitlab/os-linux.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab/os-linux.yml')
-rw-r--r--.gitlab/os-linux.yml186
1 files changed, 162 insertions, 24 deletions
diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml
index 2670ba5..06b98cc 100644
--- a/.gitlab/os-linux.yml
+++ b/.gitlab/os-linux.yml
@@ -5,7 +5,7 @@
### Release
.linux_prep_source:
- image: "fedora:33"
+ image: "fedora:34"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
@@ -30,10 +30,22 @@
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:
- image: "kitware/cmake:ci-debian10-x86_64-2021-04-06"
+ image: "kitware/cmake:ci-debian10-x86_64-2021-05-11"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
@@ -48,7 +60,7 @@
CMake_SKIP_INSTALL: 1
.debian10_aarch64:
- image: "kitware/cmake:ci-debian10-aarch64-2021-04-06"
+ image: "kitware/cmake:ci-debian10-aarch64-2021-05-11"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
@@ -56,8 +68,8 @@
### Fedora
-.fedora33:
- image: "kitware/cmake:ci-fedora33-x86_64-2021-04-06"
+.fedora34:
+ image: "kitware/cmake:ci-fedora34-x86_64-2021-06-10"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes"
@@ -65,28 +77,37 @@
#### Lint builds
-.fedora33_tidy:
- extends: .fedora33
+.fedora34_tidy:
+ extends: .fedora34
+
+ variables:
+ CMAKE_CONFIGURATION: fedora34_tidy
+ CTEST_NO_WARNINGS_ALLOWED: 1
+ CMake_SKIP_INSTALL: 1
+
+.fedora34_clang_analyzer:
+ extends: .fedora34
variables:
- CMAKE_CONFIGURATION: fedora33_tidy
+ CMAKE_CONFIGURATION: fedora34_clang_analyzer
+ CMAKE_BUILD_TYPE: Debug
CTEST_NO_WARNINGS_ALLOWED: 1
CMake_SKIP_INSTALL: 1
-.fedora33_sphinx:
- extends: .fedora33
+.fedora34_sphinx:
+ extends: .fedora34
variables:
- CMAKE_CONFIGURATION: fedora33_sphinx
+ CMAKE_CONFIGURATION: fedora34_sphinx
CTEST_NO_WARNINGS_ALLOWED: 1
CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
CMake_SKIP_INSTALL: 1
-.fedora33_sphinx_package:
- extends: .fedora33
+.fedora34_sphinx_package:
+ extends: .fedora34
variables:
- CMAKE_CONFIGURATION: fedora33_sphinx_package
+ CMAKE_CONFIGURATION: fedora34_sphinx_package
CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
#### Build and test
@@ -105,33 +126,90 @@
CMAKE_CONFIGURATION: debian10_aarch64_ninja
CTEST_NO_WARNINGS_ALLOWED: 1
-.fedora33_ninja:
- extends: .fedora33
+.fedora34_ninja:
+ extends: .fedora34
variables:
- CMAKE_CONFIGURATION: fedora33_ninja
+ CMAKE_CONFIGURATION: fedora34_ninja
CTEST_NO_WARNINGS_ALLOWED: 1
-.fedora33_ninja_multi:
- extends: .fedora33
+.fedora34_ninja_multi:
+ extends: .fedora34
variables:
- CMAKE_CONFIGURATION: fedora33_ninja_multi
+ CMAKE_CONFIGURATION: fedora34_ninja_multi
CTEST_NO_WARNINGS_ALLOWED: 1
CMAKE_GENERATOR: "Ninja Multi-Config"
-.fedora33_makefiles:
- extends: .fedora33
+.fedora34_makefiles:
+ extends: .fedora34
variables:
- CMAKE_CONFIGURATION: fedora33_makefiles
+ CMAKE_CONFIGURATION: fedora34_makefiles
CTEST_NO_WARNINGS_ALLOWED: 1
CMAKE_GENERATOR: "Unix Makefiles"
+### Clang Compiler
+
+.debian10_makefiles_clang:
+ extends: .debian10
+
+ variables:
+ CMAKE_CONFIGURATION: debian10_makefiles_clang
+ CMAKE_GENERATOR: "Unix Makefiles"
+
+.debian10_ninja_clang:
+ extends: .debian10
+
+ variables:
+ CMAKE_CONFIGURATION: debian10_ninja_clang
+
+### Sanitizers
+
+.fedora_memcheck:
+ variables:
+ CMAKE_BUILD_TYPE: RelWithDebInfo
+
+.fedora_asan_addon:
+ extends: .fedora_memcheck
+
+ variables:
+ CTEST_MEMORYCHECK_TYPE: AddressSanitizer
+ CTEST_MEMORYCHECK_SANITIZER_OPTIONS: ""
+
+.fedora34_asan:
+ extends:
+ - .fedora34
+ - .fedora_asan_addon
+
+ variables:
+ CMAKE_CONFIGURATION: fedora34_asan
+
+### 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:
- image: "kitware/cmake:ci-cuda10.2-x86_64-2020-06-11"
+ image: "kitware/cmake:ci-cuda10.2-x86_64-2021-06-16"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
@@ -145,6 +223,13 @@
CMAKE_CONFIGURATION: cuda10.2_nvidia
CTEST_NO_WARNINGS_ALLOWED: 1
+.cuda10.2_clang:
+ extends: .cuda10.2
+
+ variables:
+ CMAKE_CONFIGURATION: cuda10.2_clang
+ CTEST_NO_WARNINGS_ALLOWED: 1
+
## Tags
.linux_builder_tags:
@@ -195,6 +280,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
@@ -224,6 +310,13 @@
interruptible: true
+.cmake_codespell_linux:
+ stage: build
+ extends: .fedora34
+ script:
+ - codespell
+ interruptible: true
+
.cmake_build_linux:
stage: build
@@ -247,10 +340,20 @@
interruptible: true
+.cmake_memcheck_linux:
+ stage: test
+
+ script:
+ - *before_script_linux
+ - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_memcheck.cmake"
+
+ interruptible: true
+
.cmake_build_linux_release:
stage: build
script:
+ - source .gitlab/ci/env.sh
# Bootstrap.
- mkdir -p build/
# Exclude documentation. A job dependency provides it for packaging.
@@ -313,3 +416,38 @@
- 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"
+
+### Documentation
+
+.cmake_org_help:
+ stage: build
+ extends:
+ - .fedora34
+ - .linux_builder_tags
+ - .cmake_org_help_artifacts
+ script:
+ - *before_script_linux
+ - mkdir -p build/
+ - cd build/
+ - cmake ../Utilities/Sphinx -GNinja -DSPHINX_HTML=ON -DSPHINX_FLAGS="-A versionswitch=1"
+ - ninja