* Rename testing-matrix.gitlab-ci.yml to gromacs.gitlab-ci.yml
* Use a prefix of "gromacs" for jobs that manage the CMake-driven build
and testing procedure to improve readability and make it easier to
locate the sources of jobs mentioned in other files.
* Merge a few more trivial templates.
Change-Id: I6899dcf5a389190f6e973105c47d7743bf0ec802
include:
# Mix-in helper job definitions of general utility.
- local: '/admin/gitlab-ci/global.gitlab-ci.yml'
include:
# Mix-in helper job definitions of general utility.
- local: '/admin/gitlab-ci/global.gitlab-ci.yml'
- # Build and test in a variety of environments and configurations.
- # To do: expand matrix here to improve transparency and reduce file sizes.
+ # Build and test GROMACS in a variety of environments and configurations.
+ # To do: Consider expanding matrix here to improve transparency and reduce file sizes.
# E.g. '/admin/gitlab-ci/matrix/clang-8.gitlab-ci.yml
# E.g. '/admin/gitlab-ci/matrix/clang-8.gitlab-ci.yml
- - local: '/admin/gitlab-ci/testing-matrix.gitlab-ci.yml'
+ - local: '/admin/gitlab-ci/gromacs.gitlab-ci.yml'
# Repository cleanliness. Source tidiness, linting, and policy compliance.
- local: '/admin/gitlab-ci/lint.gitlab-ci.yml'
# Web page and manual.
# Repository cleanliness. Source tidiness, linting, and policy compliance.
- local: '/admin/gitlab-ci/lint.gitlab-ci.yml'
# Web page and manual.
- - .build-extends-template
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .documentation-before-script-template
- .build-docs-binary-template
- .archive-build-template
- .documentation-before-script-template
- .build-docs-binary-template
- .archive-build-template
.configure-docs:
extends:
.configure-docs:
extends:
- - .configure-extends-template
+ - .gromacs:base:configure
- .configure-docs-template
- .documentation-before-script-template
.configure-docs-release:
extends:
- .configure-docs-template
- .documentation-before-script-template
.configure-docs-release:
extends:
- - .configure-extends-template
+ - .gromacs:base:configure
- .configure-docs-release-template
- .documentation-before-script-template
cache: {}
- .configure-docs-release-template
- .documentation-before-script-template
cache: {}
.build-docs-binary:
extends:
.build-docs-binary:
extends:
- - .build-extends-template
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-ccache
- .build-docs-binary-template
- .documentation-before-script-template
.build-docs-webpage:
extends:
- .use-ccache
- .build-docs-binary-template
- .documentation-before-script-template
.build-docs-webpage:
extends:
- - .binary-build-template
- .variables:default
- .build-docs-webpage-template
- .documentation-before-script-template
- .variables:default
- .build-docs-webpage-template
- .documentation-before-script-template
variables:
CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
CUDA_BASE_VERSION: ""
variables:
CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
CUDA_BASE_VERSION: ""
+# Build, test, and install variously configured GROMACS installations.
# Initial build that always needs to pass before follow-up stages run
simple-build:
# Initial build that always needs to pass before follow-up stages run
simple-build:
# Jobs running in first pre-build stage
# Jobs running in first pre-build stage
-.configure-extends-template:
+.gromacs:base:configure:
extends:
- .variables:default
cache: {}
extends:
- .variables:default
cache: {}
-.configure-release-extends-template:
+.gromacs:base:release:configure:
extends:
- .variables:default
cache: {}
extends:
- .variables:default
cache: {}
- $RELEASE_SOURCE
# Templates for configuration stage
- $RELEASE_SOURCE
# Templates for configuration stage
-.configure-gcc-cuda:
- extends:
- - .configure-extends-template
- - .cuda-template
+gromacs:gcc-7:configure:
- - .configure-extends-template
+ - .gromacs:base:configure
- .use-gcc7
needs:
- job: simple-build
- .use-gcc7
needs:
- job: simple-build
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
-configure-gcc-7-release:
+gromacs:gcc-7:release:configure:
- - .configure-release-extends-template
+ - .gromacs:base:release:configure
- .use-gcc7
cache: {}
variables:
- .use-gcc7
cache: {}
variables:
- package-regressiontests-release
- prepare-release-version
- package-regressiontests-release
- prepare-release-version
-configure-gcc-7-simd-sse41:
+gromacs:gcc-7-simd-sse41:configure:
- - .configure-extends-template
+ - .gromacs:base:configure
- .use-gcc7
needs:
- job: simple-build
- .use-gcc7
needs:
- job: simple-build
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
+gromacs:gcc-7-double:configure:
- - .configure-extends-template
+ - .gromacs:base:configure
- .use-gcc7
needs:
- job: simple-build
- .use-gcc7
needs:
- job: simple-build
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
-configure-gcc-7-double-release:
+gromacs:gcc-7-double:release:configure:
- - .configure-release-extends-template
+ - .gromacs:base:release:configure
- .use-gcc7
cache: {}
variables:
- .use-gcc7
cache: {}
variables:
- package-regressiontests-release
- prepare-release-version
- package-regressiontests-release
- prepare-release-version
+gromacs:gcc-7:configure-gmxapi:
- - .configure-extends-template
+ - .gromacs:base:configure
- .configure-gmxapi-template
- .use-gcc7
needs:
- .configure-gmxapi-template
- .use-gcc7
needs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
-configure-gcc-7-gmxapi-release:
+gromacs:gcc-7:release:configure-gmxapi:
- - .configure-release-extends-template
+ - .gromacs:base:release:configure
- .configure-gmxapi-template
- .use-gcc7
cache: {}
- .configure-gmxapi-template
- .use-gcc7
cache: {}
- package-regressiontests-release
- prepare-release-version
- package-regressiontests-release
- prepare-release-version
+gromacs:gcc-8:configure:
- - .configure-extends-template
+ - .gromacs:base:configure
- .use-gcc8
needs:
- job: simple-build
- .use-gcc8
needs:
- job: simple-build
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
-configure-gcc-8-release:
+gromacs:gcc-8:release:configure:
- - .configure-release-extends-template
+ - .gromacs:base:release:configure
- .use-gcc8
cache: {}
variables:
- .use-gcc8
cache: {}
variables:
- package-regressiontests-release
- prepare-release-version
- package-regressiontests-release
- prepare-release-version
-configure-gcc-8-cuda-10.2:
+gromacs:gcc-8-cuda-10.2:configure:
+ - .gromacs:base:configure
+ - .use-cuda
- .use-gcc8:cuda-10.2
needs:
- job: simple-build
- .use-gcc8:cuda-10.2
needs:
- job: simple-build
# For version of clang before 7, we need to always provide the full version
# Use something like this instead in the download script:
# APT_COMPILER_VERSION=$(($COMPILER_MAJOR_VERSION < 7 ? "${COMPILER_MAJOR_VERSION}.0" : $COMPILER_MAJOR_VERSION))
# For version of clang before 7, we need to always provide the full version
# Use something like this instead in the download script:
# APT_COMPILER_VERSION=$(($COMPILER_MAJOR_VERSION < 7 ? "${COMPILER_MAJOR_VERSION}.0" : $COMPILER_MAJOR_VERSION))
+gromacs:clang-6:configure:
- - .configure-extends-template
+ - .gromacs:base:configure
- .use-clang6
needs:
- job: simple-build
- .use-clang6
needs:
- job: simple-build
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
+gromacs:clang-7:configure:
- - .configure-extends-template
+ - .gromacs:base:configure
- .use-clang7
needs:
- job: simple-build
- .use-clang7
needs:
- job: simple-build
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
-configure-clang-7-release:
+gromacs:clang-7:release:configure:
- - .configure-release-extends-template
+ - .gromacs:base:release:configure
- .use-clang7
cache: {}
variables:
- .use-clang7
cache: {}
variables:
- package-regressiontests-release
- prepare-release-version
- package-regressiontests-release
- prepare-release-version
-configure-clang-7-gmxapi:
+gromacs:clang-7:configure-gmxapi:
- - .configure-extends-template
+ - .gromacs:base:configure
- .configure-gmxapi-template
- .use-clang7
needs:
- .configure-gmxapi-template
- .use-clang7
needs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
-configure-clang-7-gmxapi-release:
+gromacs:clang-7:release:configure-gmxapi:
- - .configure-release-extends-template
+ - .gromacs:base:release:configure
- .configure-gmxapi-template
- .use-clang7
cache: {}
- .configure-gmxapi-template
- .use-clang7
cache: {}
- package-regressiontests-release
- prepare-release-version
- package-regressiontests-release
- prepare-release-version
+gromacs:clang-8:configure:
- - .configure-extends-template
+ - .gromacs:base:configure
- .use-clang8
needs:
- job: simple-build
- .use-clang8
needs:
- job: simple-build
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
-configure-clang-8-release:
+gromacs:clang-8:release:configure:
- - .configure-release-extends-template
+ - .gromacs:base:release:configure
- .use-clang8
cache: {}
variables:
- .use-clang8
cache: {}
variables:
# Jobs running during build stage
# Jobs running during build stage
# Dockerfiles are from dockerhub, user eriklindahl
# image in admin/dockerimages/ci-docs-py27
stage: build
# Dockerfiles are from dockerhub, user eriklindahl
# image in admin/dockerimages/ci-docs-py27
stage: build
- image: biophysics/gcc-gromacs
- variables:
-
script:
- cd $BUILD_DIR
- cmake --build . -- -j8 2>&1 | tee buildLogFile.log
script:
- cd $BUILD_DIR
- cmake --build . -- -j8 2>&1 | tee buildLogFile.log
- $BUILD_DIR
- $INSTALL_DIR/
- $BUILD_DIR
- $INSTALL_DIR/
-.build-extends-template:
- - .binary-build-template
- .use-ccache
- .variables:default
- .use-ccache
- .variables:default
-
-.build-gcc-cuda:
- extends:
- - .build-extends-template
- - .cuda-template
-
-build-gcc-7:
- extends:
- - .build-extends-template
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- .use-gcc7
needs:
- job: simple-build
artifacts: false
+ - job: gromacs:gcc-7:configure
artifacts: true
except:
variables:
- $GROMACS_RELEASE
artifacts: true
except:
variables:
- $GROMACS_RELEASE
+gromacs:gcc-7:release:build:
- - .build-extends-template
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-gcc7
stage: release-build
variables:
BUILD_DIR: release-builds-gcc
needs:
- .use-gcc7
stage: release-build
variables:
BUILD_DIR: release-builds-gcc
needs:
- - job: configure-gcc-7-release
+ - job: gromacs:gcc-7:release:configure
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
+gromacs:gcc-7-simd-sse41:build:
- - .build-extends-template
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- - job: configure-gcc-7-simd-sse41
+ - job: gromacs:gcc-7-simd-sse41:configure
artifacts: true
except:
variables:
- $GROMACS_RELEASE
artifacts: true
except:
variables:
- $GROMACS_RELEASE
+gromacs:gcc-7-double:build:
- - .build-extends-template
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- - job: configure-gcc-7-double
+ - job: gromacs:gcc-7-double:configure
artifacts: true
except:
variables:
- $GROMACS_RELEASE
artifacts: true
except:
variables:
- $GROMACS_RELEASE
+gromacs:gcc-7:build-gmxapi:
- - .build-extends-template
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .gmxapi-extra-installs
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- .gmxapi-extra-installs
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- - job: configure-gcc-7-gmxapi
+ - job: gromacs:gcc-7:configure-gmxapi
artifacts: true
except:
variables:
- $GROMACS_RELEASE
artifacts: true
except:
variables:
- $GROMACS_RELEASE
-build-gcc-7-double-release:
+gromacs:gcc-7-double:release:build:
- - .build-extends-template
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-gcc7
stage: release-build
variables:
BUILD_DIR: release-builds-gcc
needs:
- .use-gcc7
stage: release-build
variables:
BUILD_DIR: release-builds-gcc
needs:
- - job: configure-gcc-7-double-release
+ - job: gromacs:gcc-7-double:release:configure
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
-build-gcc-7-gmxapi-release:
+gromacs:gcc-7:release:build-gmxapi:
- - .build-extends-template
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .gmxapi-extra-installs
- .use-gcc7
stage: release-build
variables:
BUILD_DIR: release-builds-gcc
needs:
- .gmxapi-extra-installs
- .use-gcc7
stage: release-build
variables:
BUILD_DIR: release-builds-gcc
needs:
- - job: configure-gcc-7-gmxapi-release
+ - job: gromacs:gcc-7:release:configure-gmxapi
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
- - .build-extends-template
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-gcc8
needs:
- job: simple-build
artifacts: false
- .use-gcc8
needs:
- job: simple-build
artifacts: false
+ - job: gromacs:gcc-8:configure
artifacts: true
except:
variables:
- $GROMACS_RELEASE
artifacts: true
except:
variables:
- $GROMACS_RELEASE
+gromacs:gcc-8:release:build:
- - .build-extends-template
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-gcc8
stage: release-build
variables:
BUILD_DIR: release-builds-gcc
needs:
- .use-gcc8
stage: release-build
variables:
BUILD_DIR: release-builds-gcc
needs:
- - job: configure-gcc-8-release
+ - job: gromacs:gcc-8:release:configure
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
+gromacs:gcc-8-cuda-10.2:build:
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
+ - .use-cuda
- .use-gcc8:cuda-10.2
needs:
- job: simple-build
artifacts: false
- .use-gcc8:cuda-10.2
needs:
- job: simple-build
artifacts: false
- - job: configure-gcc-8-cuda-10.2
+ - job: gromacs:gcc-8-cuda-10.2:configure
artifacts: true
except:
variables:
- $GROMACS_RELEASE
artifacts: true
except:
variables:
- $GROMACS_RELEASE
- - .build-extends-template
-
-build-clang-6:
- extends:
- - .build-clang
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-clang6
needs:
- job: simple-build
artifacts: false
- .use-clang6
needs:
- job: simple-build
artifacts: false
- - job: configure-clang-6
+ - job: gromacs:clang-6:configure
artifacts: true
except:
variables:
- $GROMACS_RELEASE
artifacts: true
except:
variables:
- $GROMACS_RELEASE
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-clang7
needs:
- job: simple-build
artifacts: false
- .use-clang7
needs:
- job: simple-build
artifacts: false
- - job: configure-clang-7
+ - job: gromacs:clang-7:configure
artifacts: true
except:
variables:
- $GROMACS_RELEASE
artifacts: true
except:
variables:
- $GROMACS_RELEASE
+gromacs:clang-7:release:build:
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-clang7
stage: release-build
variables:
BUILD_DIR: release-builds-clang
needs:
- .use-clang7
stage: release-build
variables:
BUILD_DIR: release-builds-clang
needs:
- - job: configure-clang-7-release
+ - job: gromacs:clang-7:release:configure
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
+gromacs:clang-7:build-gmxapi:
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .gmxapi-extra-installs
- .use-clang7
needs:
- job: simple-build
artifacts: false
- .gmxapi-extra-installs
- .use-clang7
needs:
- job: simple-build
artifacts: false
- - job: configure-clang-7-gmxapi
+ - job: gromacs:clang-7:configure-gmxapi
artifacts: true
except:
variables:
- $GROMACS_RELEASE
artifacts: true
except:
variables:
- $GROMACS_RELEASE
-build-clang-7-gmxapi-release:
+gromacs:clang-7:release:build-gmxapi:
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .gmxapi-extra-installs
- .use-clang7
stage: release-build
variables:
BUILD_DIR: release-builds-clang
needs:
- .gmxapi-extra-installs
- .use-clang7
stage: release-build
variables:
BUILD_DIR: release-builds-clang
needs:
- - job: configure-clang-7-gmxapi-release
+ - job: gromacs:clang-7:release:configure-gmxapi
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-clang8
needs:
- job: simple-build
artifacts: false
- .use-clang8
needs:
- job: simple-build
artifacts: false
- - job: configure-clang-8
+ - job: gromacs:clang-8:configure
artifacts: true
except:
variables:
- $GROMACS_RELEASE
artifacts: true
except:
variables:
- $GROMACS_RELEASE
+gromacs:clang-8:release:build:
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-clang8
stage: release-build
variables:
BUILD_DIR: release-builds-clang
needs:
- .use-clang8
stage: release-build
variables:
BUILD_DIR: release-builds-clang
needs:
- - job: configure-clang-8-release
+ - job: gromacs:clang-8:release:configure
artifacts: true
only:
refs:
artifacts: true
only:
refs:
# Jobs running during test stage
# Jobs running during test stage
+
+.gromacs:base:test:
+ stage: test
+ retry:
+ max: 2
+ extends:
+ - .variables:default
script:
- cd $BUILD_DIR
- ctest -D ExperimentalTest --output-on-failure | tee ctestLog.log || true
script:
- cd $BUILD_DIR
- ctest -D ExperimentalTest --output-on-failure | tee ctestLog.log || true
when: always
expire_in: 1 week
when: always
expire_in: 1 week
-.test-extends-template:
- stage: test
- retry:
- max: 2
- extends:
- - .test-script-template
- - .variables:default
-
-.test-gcc-cuda:
- extends:
- - .test-extends-template
- - .cuda-template
-
-test-gcc-7:
- - .test-extends-template
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- .use-gcc7
needs:
- job: simple-build
artifacts: false
+ - job: gromacs:gcc-7:build
except:
variables:
- $GROMACS_RELEASE
except:
variables:
- $GROMACS_RELEASE
+gromacs:gcc-7:release:test:
- - .test-extends-template
- .use-gcc7
stage: release-tests
variables:
BUILD_DIR: release-builds-gcc
needs:
- .use-gcc7
stage: release-tests
variables:
BUILD_DIR: release-builds-gcc
needs:
- - job: configure-gcc-7-release
+ - job: gromacs:gcc-7:release:configure
- - job: build-gcc-7-release
+ - job: gromacs:gcc-7:release:build
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
+gromacs:gcc-7-simd-sse41:test:
- - .test-extends-template
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- - job: build-gcc-7-simd-sse41
+ - job: gromacs:gcc-7-simd-sse41:build
except:
variables:
- $GROMACS_RELEASE
except:
variables:
- $GROMACS_RELEASE
+gromacs:gcc-7-double:test:
- - .test-extends-template
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- - job: build-gcc-7-double
+ - job: gromacs:gcc-7-double:build
except:
variables:
- $GROMACS_RELEASE
except:
variables:
- $GROMACS_RELEASE
-test-gcc-7-double-release:
+gromacs:gcc-7-double:release:test:
- - .test-extends-template
- .use-gcc7
stage: release-tests
variables:
BUILD_DIR: release-builds-gcc
needs:
- .use-gcc7
stage: release-tests
variables:
BUILD_DIR: release-builds-gcc
needs:
- - job: configure-gcc-7-double-release
+ - job: gromacs:gcc-7-double:release:configure
- - job: build-gcc-7-double-release
+ - job: gromacs:gcc-7-double:release:build
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
+gromacs:gcc-7:test-gmxapi:
- - .test-extends-template
- .gmxapi-extra-installs
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- .gmxapi-extra-installs
- .use-gcc7
needs:
- job: simple-build
artifacts: false
- - job: build-gcc-7-gmxapi
+ - job: gromacs:gcc-7:build-gmxapi
except:
variables:
- $GROMACS_RELEASE
except:
variables:
- $GROMACS_RELEASE
-test-gcc-7-gmxapi-release:
+gromacs:gcc-7:release:test-gmxapi:
- - .test-extends-template
- .gmxapi-extra-installs
- .use-gcc7
stage: release-tests
variables:
BUILD_DIR: release-builds-gcc
needs:
- .gmxapi-extra-installs
- .use-gcc7
stage: release-tests
variables:
BUILD_DIR: release-builds-gcc
needs:
- - job: configure-gcc-7-gmxapi-release
+ - job: gromacs:gcc-7:release:configure-gmxapi
- - job: build-gcc-7-gmxapi-release
+ - job: gromacs:gcc-7:release:build-gmxapi
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
- - .test-extends-template
- .use-gcc8
needs:
- job: simple-build
artifacts: false
- .use-gcc8
needs:
- job: simple-build
artifacts: false
+ - job: gromacs:gcc-8:build
except:
variables:
- $GROMACS_RELEASE
except:
variables:
- $GROMACS_RELEASE
+gromacs:gcc-8:release:test:
- - .test-extends-template
- .use-gcc8
stage: release-tests
variables:
BUILD_DIR: release-builds-gcc
needs:
- .use-gcc8
stage: release-tests
variables:
BUILD_DIR: release-builds-gcc
needs:
- - job: configure-gcc-8-release
+ - job: gromacs:gcc-8:release:configure
- - job: build-gcc-8-release
+ - job: gromacs:gcc-8:release:build
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
+gromacs:gcc-8-cuda-10.2:test:
variables:
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
extends:
variables:
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
extends:
+ - .gromacs:base:test
+ - .use-cuda
- .use-gcc8:cuda-10.2
needs:
- job: simple-build
artifacts: false
- .use-gcc8:cuda-10.2
needs:
- job: simple-build
artifacts: false
- - job: build-gcc-8-cuda-10.2
+ - job: gromacs:gcc-8-cuda-10.2:build
except:
variables:
- $GROMACS_RELEASE
except:
variables:
- $GROMACS_RELEASE
- - .test-extends-template
- .use-clang6
needs:
- job: simple-build
artifacts: false
- .use-clang6
needs:
- job: simple-build
artifacts: false
+ - job: gromacs:clang-6:build
except:
variables:
- $GROMACS_RELEASE
except:
variables:
- $GROMACS_RELEASE
- - .test-extends-template
- .use-clang7
needs:
- job: simple-build
artifacts: false
- .use-clang7
needs:
- job: simple-build
artifacts: false
+ - job: gromacs:clang-7:build
except:
variables:
- $GROMACS_RELEASE
except:
variables:
- $GROMACS_RELEASE
+gromacs:clang-7:release:test:
- - .test-extends-template
- .use-clang7
stage: release-tests
variables:
BUILD_DIR: release-builds-clang
needs:
- .use-clang7
stage: release-tests
variables:
BUILD_DIR: release-builds-clang
needs:
- - job: configure-clang-7-release
+ - job: gromacs:clang-7:release:configure
- - job: build-clang-7-release
+ - job: gromacs:clang-7:release:build
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
+gromacs:clang-7:test-gmxapi:
- - .test-extends-template
- .gmxapi-extra-installs
- .use-clang7
needs:
- job: simple-build
artifacts: false
- .gmxapi-extra-installs
- .use-clang7
needs:
- job: simple-build
artifacts: false
- - job: build-clang-7-gmxapi
+ - job: gromacs:clang-7:build-gmxapi
except:
variables:
- $GROMACS_RELEASE
except:
variables:
- $GROMACS_RELEASE
-test-clang-7-gmxapi-release:
+gromacs:clang-7:release:test-gmxapi:
- - .test-extends-template
- .gmxapi-extra-installs
- .use-clang7
stage: release-tests
variables:
BUILD_DIR: release-builds-clang
needs:
- .gmxapi-extra-installs
- .use-clang7
stage: release-tests
variables:
BUILD_DIR: release-builds-clang
needs:
- - job: configure-clang-7-gmxapi-release
+ - job: gromacs:clang-7:release:configure-gmxapi
- - job: build-clang-7-gmxapi-release
+ - job: gromacs:clang-7:release:build-gmxapi
artifacts: true
only:
refs:
artifacts: true
only:
refs:
variables:
- $GROMACS_RELEASE
variables:
- $GROMACS_RELEASE
- - .test-extends-template
- .use-clang8
needs:
- job: simple-build
artifacts: false
- .use-clang8
needs:
- job: simple-build
artifacts: false
+ - job: gromacs:clang-8:build
except:
variables:
- $GROMACS_RELEASE
except:
variables:
- $GROMACS_RELEASE
+gromacs:clang-8:release:test:
- - .test-extends-template
- .use-clang8
stage: release-tests
variables:
BUILD_DIR: release-builds-clang
needs:
- .use-clang8
stage: release-tests
variables:
BUILD_DIR: release-builds-clang
needs:
- - job: configure-clang-8-release
+ - job: gromacs:clang-8:release:configure
- - job: build-clang-8-release
+ - job: gromacs:clang-8:release:build
artifacts: true
only:
refs:
artifacts: true
only:
refs:
configure-clang-tidy:
extends:
configure-clang-tidy:
extends:
- - .configure-extends-template
+ - .gromacs:base:configure
- .use-clang7
needs:
- job: simple-build
- .use-clang7
needs:
- job: simple-build
build-clang-tidy:
extends:
build-clang-tidy:
extends:
+ - .gromacs:base:build
+ - .use-ccache
+ - .variables:default
- .use-clang7
stage: source-check
needs:
- .use-clang7
stage: source-check
needs:
run-clang-format:
extends:
run-clang-format:
extends:
- - .binary-build-template
- .variables:default
- .use-clang7
cache: {}
- .variables:default
- .use-clang7
cache: {}
run-copyright-check:
extends:
run-copyright-check:
extends:
- - .binary-build-template
- .variables:default
- .use-clang7
cache: {}
- .variables:default
- .use-clang7
cache: {}