From 811301e5fe48c90ab93820ba5165921523988d6d Mon Sep 17 00:00:00 2001 From: "M. Eric Irrgang" Date: Fri, 20 Mar 2020 16:40:16 +0300 Subject: [PATCH] Consolidate .use-clangX CI job mix-in. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * Merge .build-clang-template and .clang-before-script-template into   .use-clang:base * Replace .clangX-template with .use-clangX, intended to provide   everything needed for a gccX build environment. Change-Id: I5b78cddb47befd2dceb68c144cf427906aeeac36 --- admin/gitlab-ci/global.gitlab-ci.yml | 49 ++++++++-------- admin/gitlab-ci/lint.gitlab-ci.yml | 16 ++---- admin/gitlab-ci/testing-matrix.gitlab-ci.yml | 59 +++++++------------- 3 files changed, 48 insertions(+), 76 deletions(-) diff --git a/admin/gitlab-ci/global.gitlab-ci.yml b/admin/gitlab-ci/global.gitlab-ci.yml index cb7929e40d..e39c0d994a 100644 --- a/admin/gitlab-ci/global.gitlab-ci.yml +++ b/admin/gitlab-ci/global.gitlab-ci.yml @@ -79,29 +79,13 @@ CUDA_BASE_VERSION: "10.2" COMPILER_MAJOR_VERSION: 8 -.clang6-template: - image: gromacs/ci-clang-6:master - -.clang6-gmxapi-template: - image: gromacs/ci-clang-6-gmxapi:master - -.clang7-template: - image: gromacs/ci-clang-7:master - -.clang7-gmxapi-template: - image: gromacs/ci-clang-7-gmxapi:master - -.clang8-template: - image: gromacs/ci-clang-8:master - -.clang8-gmxapi-template: - image: gromacs/ci-clang-8-gmxapi:master - -.clang-before-script-template: +# Base definition, not to be used directly. +# Use version-specific `.use-clangX` definitions when defining jobs. +.use-clang:base: variables: - COMPILER_MAJOR_VERSION: 7 - EXTRA_INSTALLS: "" - + DEBIAN_FRONTEND: noninteractive + BUILD_DIR: build-clang + CMAKE_COMPILER_SCRIPT: -DCMAKE_C_COMPILER=clang-$COMPILER_MAJOR_VERSION -DCMAKE_CXX_COMPILER=clang++-$COMPILER_MAJOR_VERSION before_script: - echo $EXTRA_INSTALLS - time apt-get -qq update @@ -111,10 +95,23 @@ - export CCACHE_BASEDIR=${PWD} - export CCACHE_DIR=${PWD}/ccache -.build-clang-template: +.use-clang6: + image: gromacs/ci-clang-6:master + variables: + COMPILER_MAJOR_VERSION: 6 + extends: + - .use-clang:base + +.use-clang7: + image: gromacs/ci-clang-7:master variables: - DEBIAN_FRONTEND: noninteractive COMPILER_MAJOR_VERSION: 7 - BUILD_DIR: build-clang - CMAKE_COMPILER_SCRIPT: -DCMAKE_C_COMPILER=clang-$COMPILER_MAJOR_VERSION -DCMAKE_CXX_COMPILER=clang++-$COMPILER_MAJOR_VERSION + extends: + - .use-clang:base +.use-clang8: + image: gromacs/ci-clang-8:master + variables: + COMPILER_MAJOR_VERSION: 8 + extends: + - .use-clang:base diff --git a/admin/gitlab-ci/lint.gitlab-ci.yml b/admin/gitlab-ci/lint.gitlab-ci.yml index 348ad79ca1..8e5a836e54 100644 --- a/admin/gitlab-ci/lint.gitlab-ci.yml +++ b/admin/gitlab-ci/lint.gitlab-ci.yml @@ -3,13 +3,12 @@ configure-clang-tidy: extends: - .configure-clang - - .clang7-template + - .use-clang7 needs: - job: simple-build artifacts: false variables: BUILD_DIR: build-clang-tidy - COMPILER_MAJOR_VERSION: 7 CMAKE_EXTRA_OPTIONS: -DCLANG_TIDY=clang-tidy-$COMPILER_MAJOR_VERSION -DGMX_CLANG_TIDY=ON -DGMX_COMPILER_WARNINGS=ON EXTRA_INSTALLS: clang-tidy-$COMPILER_MAJOR_VERSION except: @@ -19,7 +18,7 @@ configure-clang-tidy: build-clang-tidy: extends: - .build-clang - - .clang7-template + - .use-clang7 stage: source-check needs: - job: simple-build @@ -28,7 +27,6 @@ build-clang-tidy: artifacts: true variables: BUILD_DIR: build-clang-tidy - COMPILER_MAJOR_VERSION: 7 EXTRA_INSTALLS: clang-tidy-$COMPILER_MAJOR_VERSION except: variables: @@ -38,9 +36,7 @@ run-clang-format: extends: - .binary-build-template - .variables:default - - .clang-before-script-template - - .build-clang-template - - .clang7-template + - .use-clang7 cache: {} stage: source-check when: always @@ -51,7 +47,6 @@ run-clang-format: KUBERNETES_CPU_LIMIT: 1 KUBERNETES_CPU_REQUEST: 1 KUBERNETES_MEMORY_LIMIT: 2Gi - COMPILER_MAJOR_VERSION: 7 EXTRA_INSTALLS: clang-format-$COMPILER_MAJOR_VERSION except: variables: @@ -71,9 +66,7 @@ run-copyright-check: extends: - .binary-build-template - .variables:default - - .clang-before-script-template - - .build-clang-template - - .clang7-template + - .use-clang7 cache: {} stage: source-check when: always @@ -119,7 +112,6 @@ run-check-source: KUBERNETES_CPU_REQUEST: 1 KUBERNETES_MEMORY_LIMIT: 2Gi BUILD_DIR: build-docs - COMPILER_MAJOR_VERSION: 7 except: variables: - $GROMACS_RELEASE diff --git a/admin/gitlab-ci/testing-matrix.gitlab-ci.yml b/admin/gitlab-ci/testing-matrix.gitlab-ci.yml index 38e757f9fd..6876e9b910 100644 --- a/admin/gitlab-ci/testing-matrix.gitlab-ci.yml +++ b/admin/gitlab-ci/testing-matrix.gitlab-ci.yml @@ -409,14 +409,10 @@ configure-gcc-8-cuda-10.2: .configure-clang: extends: - .configure-extends-template - - .clang-before-script-template - - .build-clang-template .configure-clang-release: extends: - .configure-release-extends-template - - .clang-before-script-template - - .build-clang-template # For version of clang before 7, we need to always provide the full version # Use something like this instead in the download script: @@ -424,7 +420,7 @@ configure-gcc-8-cuda-10.2: configure-clang-6: extends: - .configure-clang - - .clang6-template + - .use-clang6 needs: - job: simple-build artifacts: false @@ -438,12 +434,10 @@ configure-clang-6: configure-clang-7: extends: - .configure-clang - - .clang7-template + - .use-clang7 needs: - job: simple-build artifacts: false - variables: - COMPILER_MAJOR_VERSION: 7 except: variables: - $GROMACS_RELEASE @@ -451,10 +445,9 @@ configure-clang-7: configure-clang-7-release: extends: - .configure-clang-release - - .clang7-template + - .use-clang7 cache: {} variables: - COMPILER_MAJOR_VERSION: 7 RELEASE_BUILD_DIR: release-builds-clang only: refs: @@ -472,12 +465,10 @@ configure-clang-7-gmxapi: extends: - .configure-clang - .configure-gmxapi-template - - .clang7-template + - .use-clang7 needs: - job: simple-build artifacts: false - variables: - COMPILER_MAJOR_VERSION: 7 except: variables: - $GROMACS_RELEASE @@ -486,10 +477,9 @@ configure-clang-7-gmxapi-release: extends: - .configure-clang-release - .configure-gmxapi-template - - .clang7-template + - .use-clang7 cache: {} variables: - COMPILER_MAJOR_VERSION: 7 RELEASE_BUILD_DIR: release-builds-clang only: refs: @@ -506,12 +496,10 @@ configure-clang-7-gmxapi-release: configure-clang-8: extends: - .configure-clang - - .clang8-template + - .use-clang8 needs: - job: simple-build artifacts: false - variables: - COMPILER_MAJOR_VERSION: 8 except: variables: - $GROMACS_RELEASE @@ -519,10 +507,9 @@ configure-clang-8: configure-clang-8-release: extends: - .configure-clang-release - - .clang8-template + - .use-clang8 cache: {} variables: - COMPILER_MAJOR_VERSION: 8 RELEASE_BUILD_DIR: release-builds-clang only: refs: @@ -731,13 +718,11 @@ build-gcc-8-cuda-10.2: .build-clang: extends: - .build-extends-template - - .clang-before-script-template - - .build-clang-template build-clang-6: extends: - .build-clang - - .clang6-template + - .use-clang6 needs: - job: simple-build artifacts: false @@ -750,7 +735,7 @@ build-clang-6: build-clang-7: extends: - .build-clang - - .clang7-template + - .use-clang7 needs: - job: simple-build artifacts: false @@ -763,7 +748,7 @@ build-clang-7: build-clang-7-release: extends: - .build-clang - - .clang7-template + - .use-clang7 stage: release-build variables: BUILD_DIR: release-builds-clang @@ -782,7 +767,7 @@ build-clang-7-gmxapi: extends: - .build-clang - .gmxapi-extra-installs - - .clang7-template + - .use-clang7 needs: - job: simple-build artifacts: false @@ -796,7 +781,7 @@ build-clang-7-gmxapi-release: extends: - .build-clang - .gmxapi-extra-installs - - .clang7-template + - .use-clang7 stage: release-build variables: BUILD_DIR: release-builds-clang @@ -814,7 +799,7 @@ build-clang-7-gmxapi-release: build-clang-8: extends: - .build-clang - - .clang8-template + - .use-clang8 needs: - job: simple-build artifacts: false @@ -827,7 +812,7 @@ build-clang-8: build-clang-8-release: extends: - .build-clang - - .clang8-template + - .use-clang8 stage: release-build variables: BUILD_DIR: release-builds-clang @@ -1054,19 +1039,17 @@ test-gcc-8-cuda-10.2: .test-clang-template: variables: - COMPILER_MAJOR_VERSION: 7 BUILD_DIR: build-clang .test-clang: extends: - .test-extends-template - - .clang-before-script-template - .test-clang-template test-clang-6: extends: - .test-clang - - .clang6-template + - .use-clang6 needs: - job: simple-build artifacts: false @@ -1078,7 +1061,7 @@ test-clang-6: test-clang-7: extends: - .test-clang - - .clang7-template + - .use-clang7 needs: - job: simple-build artifacts: false @@ -1090,7 +1073,7 @@ test-clang-7: test-clang-7-release: extends: - .test-clang - - .clang7-template + - .use-clang7 stage: release-tests variables: BUILD_DIR: release-builds-clang @@ -1111,7 +1094,7 @@ test-clang-7-gmxapi: extends: - .test-clang - .gmxapi-extra-installs - - .clang7-template + - .use-clang7 needs: - job: simple-build artifacts: false @@ -1124,7 +1107,7 @@ test-clang-7-gmxapi-release: extends: - .test-clang - .gmxapi-extra-installs - - .clang7-template + - .use-clang7 stage: release-tests variables: BUILD_DIR: release-builds-clang @@ -1144,7 +1127,7 @@ test-clang-7-gmxapi-release: test-clang-8: extends: - .test-clang - - .clang8-template + - .use-clang8 needs: - job: simple-build artifacts: false @@ -1156,7 +1139,7 @@ test-clang-8: test-clang-8-release: extends: - .test-clang - - .clang8-template + - .use-clang8 stage: release-tests variables: BUILD_DIR: release-builds-clang -- 2.22.0