From cbed21696db50f5c8dca9fdb81ce0b5eea935004 Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Mon, 30 Mar 2020 09:51:45 -0400 Subject: [PATCH 1/4] gitlab-ci won't trigger when just pushing remote branches At the same time I have added the controls to allow for master only builders which is required for nightly ubsan/asan testing --- .gitlab-ci.yml | 9 +++++++++ .gitlab/ci/centos7.yml | 3 +++ .gitlab/ci/rhel8.yml | 2 ++ .gitlab/ci/ubuntu1604.yml | 5 +++++ .gitlab/ci/ubuntu1804.yml | 6 ++++++ docs/CI-README.md | 2 ++ 6 files changed, 27 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7ac940791..a687c107c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -68,6 +68,15 @@ extends: - .docker_image +.only-default: &only-default + only: + - master + - merge_requests + - tags + +.only-master: &only-master + only: + - master # General Longer Term Tasks: # - setup asan, and ubsan as sub-pipeline diff --git a/.gitlab/ci/centos7.yml b/.gitlab/ci/centos7.yml index 4ca983170..e7b861a52 100644 --- a/.gitlab/ci/centos7.yml +++ b/.gitlab/ci/centos7.yml @@ -11,6 +11,7 @@ build:centos7_gcc48: extends: - .centos7 - .cmake_build_linux + - .only-default variables: CMAKE_BUILD_TYPE: RelWithDebInfo CMAKE_GENERATOR: "Unix Makefiles" @@ -27,6 +28,7 @@ test:centos7_gcc48: extends: - .centos7 - .cmake_test_linux + - .only-default dependencies: - build:centos7_gcc48 needs: @@ -43,6 +45,7 @@ test:rhel8_test_centos7: extends: - .rhel8 - .cmake_test_linux + - .only-default dependencies: - build:centos7_gcc48 needs: diff --git a/.gitlab/ci/rhel8.yml b/.gitlab/ci/rhel8.yml index add614942..5ae77381b 100644 --- a/.gitlab/ci/rhel8.yml +++ b/.gitlab/ci/rhel8.yml @@ -10,6 +10,7 @@ build:rhel8: extends: - .rhel8 - .cmake_build_linux + - .only-default variables: CMAKE_GENERATOR: "Unix Makefiles" VTKM_SETTINGS: "serial+shared+64bit_floats+32bit_ids" @@ -23,6 +24,7 @@ test:rhel8: extends: - .rhel8 - .cmake_test_linux + - .only-default dependencies: - build:rhel8 needs: diff --git a/.gitlab/ci/ubuntu1604.yml b/.gitlab/ci/ubuntu1604.yml index cbb9758a1..707fb0c54 100644 --- a/.gitlab/ci/ubuntu1604.yml +++ b/.gitlab/ci/ubuntu1604.yml @@ -11,6 +11,7 @@ build:ubuntu1604_gcc5: extends: - .ubuntu1604_cuda - .cmake_build_linux + - .only-default variables: CMAKE_BUILD_TYPE: RelWithDebInfo VTKM_SETTINGS: "cuda+pascal" @@ -27,6 +28,7 @@ build:ubuntu1604_gcc5: # extends: # - .ubuntu1604_cuda # - .cmake_test_linux +# - .only-default # dependencies: # - build:ubuntu1604_gcc5 # needs: @@ -42,6 +44,7 @@ build:ubuntu1604_gcc5: # extends: # - .ubuntu1804_cuda # - .cmake_test_linux +# - .only-default # dependencies: # - build:ubuntu1604_gcc5 # needs: @@ -61,6 +64,7 @@ build:ubuntu1604_gcc48: #enough CMake version that supports mpi - .ubuntu1604_cuda - .cmake_build_linux + - .only-default variables: CMAKE_BUILD_TYPE: Release #custom openmpi install location @@ -76,6 +80,7 @@ test:ubuntu1604_gcc48: extends: - .ubuntu1604 - .cmake_test_linux + - .only-default variables: #env flags to allow openmpi to run as root user OMPI_ALLOW_RUN_AS_ROOT: 1 diff --git a/.gitlab/ci/ubuntu1804.yml b/.gitlab/ci/ubuntu1804.yml index 3788a5801..861da3384 100644 --- a/.gitlab/ci/ubuntu1804.yml +++ b/.gitlab/ci/ubuntu1804.yml @@ -11,6 +11,7 @@ build:ubuntu1804_gcc9: extends: - .ubuntu1804 - .cmake_build_linux + - .only-default variables: CC: "gcc-9" CXX: "g++-9" @@ -26,6 +27,7 @@ test:ubuntu1804_gcc9: extends: - .ubuntu1804 - .cmake_test_linux + - .only-default dependencies: - build:ubuntu1804_gcc9 needs: @@ -44,6 +46,7 @@ build:ubuntu1804_gcc7: extends: - .ubuntu1804_cuda - .cmake_build_linux + - .only-default variables: CC: "gcc-7" CXX: "g++-7" @@ -60,6 +63,7 @@ test:ubuntu1804_gcc7: extends: - .ubuntu1804_cuda - .cmake_test_linux + - .only-default dependencies: - build:ubuntu1804_gcc7 needs: @@ -76,6 +80,7 @@ build:ubuntu1804_clang8: extends: - .ubuntu1804 - .cmake_build_linux + - .only-default variables: CC: "clang-8" CXX: "clang++-8" @@ -91,6 +96,7 @@ test:ubuntu1804_clang8: extends: - .ubuntu1804 - .cmake_test_linux + - .only-default dependencies: - build:ubuntu1804_clang8 needs: diff --git a/docs/CI-README.md b/docs/CI-README.md index 902f31b97..da77324ed 100644 --- a/docs/CI-README.md +++ b/docs/CI-README.md @@ -117,6 +117,7 @@ build:ubuntu2004_$: extends: - .ubuntu2004 - .cmake_build_linux + - .only-default variables: CC: "$" CXX: "$" @@ -176,6 +177,7 @@ test:ubuntu2004_$: extends: - .ubuntu2004_cuda - .cmake_test_linux + - .only-default dependencies: - build:ubuntu2004_$ needs: -- GitLab From 917003bd88cdb0672da90464112bb4505029377d Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Mon, 30 Mar 2020 10:53:54 -0400 Subject: [PATCH 2/4] gitlab-ci options for docs, examples, and benchmarks --- .gitlab/ci/config/initial_config.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitlab/ci/config/initial_config.cmake b/.gitlab/ci/config/initial_config.cmake index e2d34fede..3bac66bbc 100644 --- a/.gitlab/ci/config/initial_config.cmake +++ b/.gitlab/ci/config/initial_config.cmake @@ -26,6 +26,18 @@ foreach(option IN LISTS options) elseif(64bit_floats STREQUAL option) set(VTKm_USE_DOUBLE_PRECISION "ON" CACHE STRING "") + elseif(examples STREQUAL option) + set(VTKm_ENABLE_EXAMPLES "ON" CACHE STRING "") + endif() + + elseif(docs STREQUAL option) + set(VTKm_ENABLE_DOCUMENTATION "ON" CACHE STRING "") + endif() + + elseif(benchmarks STREQUAL option) + set(VTKm_ENABLE_BENCHMARKS "ON" CACHE STRING "") + endif() + elseif(mpi STREQUAL option) set(VTKm_ENABLE_MPI "ON" CACHE STRING "") -- GitLab From 59276dcad95b5dd52ba3f230217bbd7ca4dede1f Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Mon, 30 Mar 2020 10:54:31 -0400 Subject: [PATCH 3/4] gitlab-ci now has a clang-5 builder This was once covered by the dejagore dashboard --- .gitlab/ci/ubuntu1604.yml | 41 +++++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/.gitlab/ci/ubuntu1604.yml b/.gitlab/ci/ubuntu1604.yml index 707fb0c54..a36e15e3b 100644 --- a/.gitlab/ci/ubuntu1604.yml +++ b/.gitlab/ci/ubuntu1604.yml @@ -69,7 +69,7 @@ build:ubuntu1604_gcc48: CMAKE_BUILD_TYPE: Release #custom openmpi install location CMAKE_PREFIX_PATH: "/opt/openmpi/" - VTKM_SETTINGS: "tbb+mpi" + VTKM_SETTINGS: "tbb+mpi+shared" test:ubuntu1604_gcc48: tags: @@ -91,8 +91,37 @@ test:ubuntu1604_gcc48: needs: - build:ubuntu1604_gcc48 -# Todo: -# Build on ubuntu1604 with TBB and test on ubuntu1804 -# Uses clang 3.8 -# Build on ubuntu1604 with TBB and test on ubuntu1604 and ubuntu1804 -# Uses clang 5.0, Debug??, Static/shared? + +# Build on ubuntu1604 with tbb and test on ubuntu1604 +# Uses clang 5 +build:ubuntu1604_clang5: + tags: + - build + - vtkm + - docker + - linux + extends: + #Requires the cuda docker image as it uses a sufficiently new + #enough CMake version that supports mpi + - .ubuntu1604 + - .cmake_build_linux + - .only-default + variables: + CMAKE_BUILD_TYPE: Debug + VTKM_SETTINGS: "tbb+static+64bit_floats" + +test:ubuntu1604_clang5: + tags: + - test + - vtkm + - docker + - linux + extends: + - .ubuntu1604 + - .cmake_test_linux + - .only-default + + dependencies: + - build:ubuntu1604_clang5 + needs: + - build:ubuntu1604_clang5 -- GitLab From 0ff8cacbe06f087dc7827b7812558d19fc46cff4 Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Mon, 30 Mar 2020 10:58:07 -0400 Subject: [PATCH 4/4] gitlab-ci nightly gcc 6 and 7 builders to improve coverage This builds used to happen on renar --- .gitlab-ci.yml | 3 +- .gitlab/ci/docker/ubuntu1804/base/Dockerfile | 1 + .gitlab/ci/ubuntu1804.yml | 69 +++++++++++++++++++- 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a687c107c..732f4d5e8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,6 +21,7 @@ # - openmp # - openmpi # * .gitlab/ci/ubuntu1804/base/ +# - gcc 6.5 # - gcc 7.4 # - gcc 9 # - clang 8 @@ -59,7 +60,7 @@ - .docker_image .ubuntu1804: &ubuntu1804 - image: "kitware/vtkm:ci-ubuntu1804-20200320" + image: "kitware/vtkm:ci-ubuntu1804-20200330" extends: - .docker_image diff --git a/.gitlab/ci/docker/ubuntu1804/base/Dockerfile b/.gitlab/ci/docker/ubuntu1804/base/Dockerfile index b1421cd0f..7c7159d26 100644 --- a/.gitlab/ci/docker/ubuntu1804/base/Dockerfile +++ b/.gitlab/ci/docker/ubuntu1804/base/Dockerfile @@ -6,6 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ cmake \ curl \ g++ \ + g++-6 \ git \ git-lfs \ libmpich-dev \ diff --git a/.gitlab/ci/ubuntu1804.yml b/.gitlab/ci/ubuntu1804.yml index 861da3384..478380056 100644 --- a/.gitlab/ci/ubuntu1804.yml +++ b/.gitlab/ci/ubuntu1804.yml @@ -16,7 +16,7 @@ build:ubuntu1804_gcc9: CC: "gcc-9" CXX: "g++-9" CMAKE_BUILD_TYPE: Debug - VTKM_SETTINGS: "tbb+openmp+mpi" + VTKM_SETTINGS: "tbb+openmp+mpi+shared" test:ubuntu1804_gcc9: tags: @@ -69,6 +69,73 @@ test:ubuntu1804_gcc7: needs: - build:ubuntu1804_gcc7 + +# Build on ubuntu1804 with OpenMP and test on ubuntu1804 +# Uses gcc 7.4 +# Runs only on nightlies +build:ubuntu1804_gcc7_2: + tags: + - build + - vtkm + - docker + - linux + extends: + - .ubuntu1804 + - .cmake_build_linux + - .only-master + variables: + CC: "gcc-7" + CXX: "g++-7" + VTKM_SETTINGS: "openmp+shared+examples" + +test:ubuntu1804_gcc7_2: + tags: + - test + - vtkm + - docker + - linux + extends: + - .ubuntu1804 + - .cmake_test_linux + - .only-master + dependencies: + - build:ubuntu1804_gcc7_2 + needs: + - build:ubuntu1804_gcc7_2 + +# Build on ubuntu1804 with OpenMP and test on ubuntu1804 +# Uses gcc 6.5 +# Runs only on nightlies +build:ubuntu1804_gcc6: + tags: + - build + - vtkm + - docker + - linux + extends: + - .ubuntu1804 + - .cmake_build_linux + - .only-master + variables: + CC: "gcc-6" + CXX: "g++-6" + VTKM_SETTINGS: "openmp+shared" + +test:ubuntu1804_gcc6: + tags: + - test + - vtkm + - docker + - linux + extends: + - .ubuntu1804 + - .cmake_test_linux + - .only-master + dependencies: + - build:ubuntu1804_gcc6 + needs: + - build:ubuntu1804_gcc6 + # Build on ubuntu1804 with TBB and test on ubuntu1804 # Uses clang 8 build:ubuntu1804_clang8: -- GitLab