diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7ac940791160accf6d631425bc40806c40abc3f6..732f4d5e8536277fcbe1c8f6b6e34e57518ed1b2 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 @@ -68,6 +69,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 4ca9831708f08576e1270873b8dee86675c1682b..e7b861a52777aac9b143c09eda4540194f26f115 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/config/initial_config.cmake b/.gitlab/ci/config/initial_config.cmake index e2d34fede9f1a5bf53358aabf9f3b355bb5ac1c9..3bac66bbccaff53d6bba35550142d7586f78a311 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 "") diff --git a/.gitlab/ci/docker/ubuntu1804/base/Dockerfile b/.gitlab/ci/docker/ubuntu1804/base/Dockerfile index b1421cd0fc9bc0173bd77d311122da29dcf08758..7c7159d26fc83070e1554f12a7ca0c10e9f5a51d 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/rhel8.yml b/.gitlab/ci/rhel8.yml index add614942b64d39723c1e61a402c3c04f8f22676..5ae77381bd5077fc76b356a8e5b3f80479ae861a 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 cbb9758a1ea9dec6a4b8b5c61357f1a7a195e84d..a36e15e3b134a64f9f44ecb7ef9d008a50f44566 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,11 +64,12 @@ 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 CMAKE_PREFIX_PATH: "/opt/openmpi/" - VTKM_SETTINGS: "tbb+mpi" + VTKM_SETTINGS: "tbb+mpi+shared" test:ubuntu1604_gcc48: tags: @@ -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 @@ -86,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 diff --git a/.gitlab/ci/ubuntu1804.yml b/.gitlab/ci/ubuntu1804.yml index 3788a5801c8a6704495319f3aef1edace84c3c10..478380056606efda8ad2fad62428d93133d4e8bb 100644 --- a/.gitlab/ci/ubuntu1804.yml +++ b/.gitlab/ci/ubuntu1804.yml @@ -11,11 +11,12 @@ build:ubuntu1804_gcc9: extends: - .ubuntu1804 - .cmake_build_linux + - .only-default variables: 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: @@ -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,11 +63,79 @@ test:ubuntu1804_gcc7: extends: - .ubuntu1804_cuda - .cmake_test_linux + - .only-default dependencies: - build: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: @@ -76,6 +147,7 @@ build:ubuntu1804_clang8: extends: - .ubuntu1804 - .cmake_build_linux + - .only-default variables: CC: "clang-8" CXX: "clang++-8" @@ -91,6 +163,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 902f31b97a06242e019fa1da624585b8bbe97d72..da77324ed3ba258bcb050d5f1d23bd3bafe37f7b 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: