Add tests for newer GCC versions
[alexxy/gromacs.git] / admin / gitlab-ci / gromacs.gitlab-ci.yml
index 2360be64bc178d40b841abec4b488a0b3cb998d8..2850546af49808017f2b218ac7b6ae2d3bf28f57 100644 (file)
@@ -220,18 +220,18 @@ simple-build:
 
 # Templates for configuration stage
 
-gromacs:gcc-7:configure:
+gromacs:gcc-10:configure:
   extends:
     - .gromacs:base:configure
     - .use-gcc:base
     - .use-opencl
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
     CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
-    COMPILER_MAJOR_VERSION: 7
+    COMPILER_MAJOR_VERSION: 10
 
 gromacs:clang-8-cuda-10.0:configure:
   extends:
@@ -247,17 +247,17 @@ gromacs:clang-8-cuda-10.0:configure:
     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
     COMPILER_MAJOR_VERSION: 8
 
-gromacs:gcc-8-cuda-11.0:configure:
+gromacs:gcc-7-cuda-10.2:configure:
   extends:
     - .gromacs:base:configure
     - .use-gcc:base
     - .use-cuda
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
-    COMPILER_MAJOR_VERSION: 8
+    COMPILER_MAJOR_VERSION: 7
 
 gromacs:gcc-8-cuda-11.0:configureMPI:
   extends:
@@ -380,17 +380,16 @@ gromacs:gcc-8-cuda-11.0:release:configure:
     - regressiontests:package
     - prepare-release-version
 
-gromacs:gcc-7:release:configure:
+gromacs:gcc-9:release:configure:
   extends:
     - .gromacs:base:release:configure
     - .use-gcc:base
     - .use-opencl
     - .rules:nightly-only-for-release
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
-    COMPILER_MAJOR_VERSION: 7
-    CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
+    COMPILER_MAJOR_VERSION: 9
     RELEASE_BUILD_DIR: release-builds-gcc
     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
   dependencies:
@@ -478,18 +477,18 @@ gromacs:oneapi-2021.1-beta09-opencl:release:configure:
     paths:
       - $BUILD_DIR/scan_html
 
-gromacs:gcc-7:build:
+gromacs:gcc-10:build:
   extends:
     - .variables:default
     - .gromacs:base:build
     - .before_script:default
     - .use-ccache
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
   needs:
-    - job: gromacs:gcc-7:configure
+    - job: gromacs:gcc-10:configure
 
 gromacs:clang-8-cuda-10.0:build:
   extends:
@@ -504,18 +503,18 @@ gromacs:clang-8-cuda-10.0:build:
   needs:
     - job: gromacs:clang-8-cuda-10.0:configure
 
-gromacs:gcc-8-cuda-11.0:build:
+gromacs:gcc-7-cuda-10.2:build:
   extends:
     - .variables:default
     - .gromacs:base:build
     - .before_script:default
     - .use-ccache
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:configure
+    - job: gromacs:gcc-7-cuda-10.2:configure
 
 gromacs:gcc-8-cuda-11.0:buildMPI:
   extends:
@@ -653,7 +652,7 @@ gromacs:gcc-8-cuda-11.0:release:build:
   needs:
     - job: gromacs:gcc-8-cuda-11.0:release:configure
 
-gromacs:gcc-7:release:build:
+gromacs:gcc-9:release:build:
   extends:
     - .variables:default
     - .gromacs:base:build
@@ -664,9 +663,9 @@ gromacs:gcc-7:release:build:
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     BUILD_DIR: release-builds-gcc
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
   needs:
-    - job: gromacs:gcc-7:release:configure
+    - job: gromacs:gcc-9:release:configure
 
 gromacs:clang-9:release:build:
   extends:
@@ -794,11 +793,11 @@ gromacs:oneapi-2021.1-beta09-opencl:release:build:
     when: always
     expire_in: 1 week
 
-gromacs:gcc-7:test:
+gromacs:gcc-10:test:
   extends:
     - .gromacs:base:test
     - .rules:merge-requests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
@@ -807,7 +806,7 @@ gromacs:gcc-7:test:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7:build
+    - job: gromacs:gcc-10:build
 
 gromacs:clang-8-cuda-10.0:test:
   extends:
@@ -823,11 +822,11 @@ gromacs:clang-8-cuda-10.0:test:
   needs:
     - job: gromacs:clang-8-cuda-10.0:build
 
-gromacs:gcc-8-cuda-11.0:test:
+gromacs:gcc-7-cuda-10.2:test:
   extends:
     - .gromacs:base:test
     - .rules:merge-requests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -835,13 +834,13 @@ gromacs:gcc-8-cuda-11.0:test:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: gromacs:gcc-7-cuda-10.2:build
 
-gromacs:gcc-8-cuda-11.0:test-gpucommupd:
+gromacs:gcc-8-cuda-10.2:test-gpucommupd:
   extends:
     - .gromacs:base:test
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -852,7 +851,7 @@ gromacs:gcc-8-cuda-11.0:test-gpucommupd:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: gromacs:gcc-7-cuda-10.2:build
 
 gromacs:clang-8:test:
   extends:
@@ -933,11 +932,11 @@ gromacs:clang-9-mpi:test:
   needs:
     - job: gromacs:clang-9-mpi:build
 
-gromacs:gcc-7:regressiontest:
+gromacs:gcc-10:regressiontest:
   extends:
     - .gromacs:base:regressiontest
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
@@ -949,7 +948,7 @@ gromacs:gcc-7:regressiontest:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7:build
+    - job: gromacs:gcc-10:build
     - job: regressiontests:prepare
 
 gromacs:clang-8-cuda-10.0:regressiontest:
@@ -971,11 +970,11 @@ gromacs:clang-8-cuda-10.0:regressiontest:
     - job: regressiontests:prepare
 
 
-gromacs:gcc-8-cuda-11.0:regressiontest:
+gromacs:gcc-7-cuda-10.2:regressiontest:
   extends:
     - .gromacs:base:regressiontest
     - .rules:merge-requests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -986,14 +985,14 @@ gromacs:gcc-8-cuda-11.0:regressiontest:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: gromacs:gcc-7-cuda-10.2:build
     - job: regressiontests:prepare
 
-gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-tMPI:
+gromacs:gcc-7-cuda-10.2:regressiontest-gpucommupd-tMPI:
   extends:
     - .gromacs:base:regressiontest
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -1007,7 +1006,7 @@ gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-tMPI:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: gromacs:gcc-7-cuda-10.2:build
     - job: regressiontests:prepare
   artifacts:
     paths:
@@ -1015,11 +1014,11 @@ gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-tMPI:
     when: always
     expire_in: 1 week
 
-gromacs:gcc-8-cuda-11.0:regressiontest-upd-tMPI:
+gromacs:gcc-7-cuda-10.2:regressiontest-upd-tMPI:
   extends:
     - .gromacs:base:regressiontest
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
@@ -1030,7 +1029,7 @@ gromacs:gcc-8-cuda-11.0:regressiontest-upd-tMPI:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: gromacs:gcc-7-cuda-10.2:build
     - job: regressiontests:prepare
   artifacts:
     paths:
@@ -1159,12 +1158,12 @@ gromacs:gcc-8-cuda-11.0:release:test:
     - job: gromacs:gcc-8-cuda-11.0:release:configure
     - job: gromacs:gcc-8-cuda-11.0:release:build
 
-gromacs:gcc-7:release:test:
+gromacs:gcc-9:release:test:
   extends:
     - .gromacs:base:test
     - .rules:nightly-only-for-release
   stage: release-tests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     BUILD_DIR: release-builds-gcc
@@ -1174,8 +1173,8 @@ gromacs:gcc-7:release:test:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7:release:configure
-    - job: gromacs:gcc-7:release:build
+    - job: gromacs:gcc-9:release:configure
+    - job: gromacs:gcc-9:release:build
 
 gromacs:clang-9:release:test:
   extends:
@@ -1220,12 +1219,12 @@ gromacs:oneapi-2021.1-beta09-opencl:release:test:
     - job: gromacs:oneapi-2021.1-beta09-opencl:release:configure
     - job: gromacs:oneapi-2021.1-beta09-opencl:release:build
 
-gromacs:gcc-7:release:regressiontest:
+gromacs:gcc-9:release:regressiontest:
   extends:
     - .gromacs:base:regressiontest
     - .rules:nightly-only-for-release
   stage: release-tests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     BUILD_DIR: release-builds-gcc
@@ -1235,7 +1234,7 @@ gromacs:gcc-7:release:regressiontest:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7:release:build
+    - job: gromacs:gcc-9:release:build
     - job: regressiontests:package
 
 gromacs:clang-9:release:regressiontest: