Free up Docker image tag namespace.
authorM. Eric Irrgang <ericirrgang@gmail.com>
Fri, 6 Mar 2020 11:16:04 +0000 (14:16 +0300)
committerPaul Bauer <paul.bauer.q@gmail.com>
Mon, 9 Mar 2020 16:19:04 +0000 (17:19 +0100)
Allow tags to distinguish Docker images for different release
requirements. Free up the image tag namespace for granularly describing
image revisions (and create smaller image repositories) by using the
matrix slug as the image name. Tag images to indicate the supported
GROMACS branch.

Refs #3395

Change-Id: Idff95d031cd56a28545562862e78cd99902db620

admin/ci-templates/.build-docs-template.yml
admin/ci-templates/.build-template.yml
admin/ci-templates/.image-templates.yml
admin/dockerfiles/buildall.sh
admin/dockerfiles/ci-clang/Dockerfile
admin/dockerfiles/ci-docs-clang/Dockerfile
admin/dockerfiles/ci-docs-gcc/Dockerfile
admin/dockerfiles/ci-gcc/Dockerfile

index 6f257f969a88cee3ca122c2b3e0735e1aa4e9f0c..c32bce9ac3a3e14a8369af74430f32f48248c637 100644 (file)
@@ -1,7 +1,7 @@
 .configure-docs-template:
   # Built by admin/dockerfiles/ci-docs
   # TODO this should be organized more like the current documentation.py script
-  image: gromacs/continuous-integration:ci-docs
+  image: gromacs/ci-docs:master
   stage: configure-build
   variables:
     KUBERNETES_CPU_LIMIT: 1
@@ -64,7 +64,7 @@
 .build-docs-binary-template:
   # Built by admin/dockerfiles/ci-docs
   # TODO this should be organized more like the current documentation.py script
-  image: gromacs/continuous-integration:ci-docs
+  image: gromacs/ci-docs:master
   script:
     - cd $BUILD_DIR
     - cmake --build . --target gmx -- -j8
@@ -79,7 +79,7 @@
 .build-docs-webpage-template:
   # Built by admin/dockerfiles/ci-docs
   # TODO this should be organized more like the current documentation.py script
-  image: gromacs/continuous-integration:ci-docs
+  image: gromacs/ci-docs:master
   variables:
     KUBERNETES_CPU_LIMIT: 4
     KUBERNETES_CPU_REQUEST: 2
 .configure-docs-release-template:
   # Built by admin/dockerfiles/ci-docs
   # TODO this should be organized more like the current documentation.py script
-  image: gromacs/continuous-integration:ci-docs
+  image: gromacs/ci-docs:master
   stage: release-configure
   variables:
     KUBERNETES_CPU_LIMIT: 1
index 69d6108e3948044f16ebb094a5cf694e1c98674b..4ea362b071bde2c96b14d16285fae9fd978e27a0 100644 (file)
 # Redmine #3361
 .archive-build-template:
   # Dockerfiles are from dockerhub, user eriklindahl
-  image: gromacs/continuous-integration:ci-docs
+  image: gromacs/ci-docs:master
   variables:
   variables:
     KUBERNETES_CPU_LIMIT: 4
index a7196734a5b2726064562ae6c38096b86d51749e..084c703c255dd6d7a5e444900afc1da91817bf86 100644 (file)
@@ -1,47 +1,47 @@
 .gcc5-template:
-  image: gromacs/continuous-integration:ci-gcc-5
+  image: gromacs/ci-gcc-5:master
 
 .gcc6-template:
-  image: gromacs/continuous-integration:ci-gcc-6
+  image: gromacs/ci-gcc-6:master
 
 .gcc7-template:
-  image: gromacs/continuous-integration:ci-gcc-7
+  image: gromacs/ci-gcc-7:master
 
 .gcc8-template:
-  image: gromacs/continuous-integration:ci-gcc-8
+  image: gromacs/ci-gcc-8:master
 
 .clang6-template:
-  image: gromacs/continuous-integration:ci-clang-6
+  image: gromacs/ci-clang-6:master
 
 .clang7-template:
-  image: gromacs/continuous-integration:ci-clang-7
+  image: gromacs/ci-clang-7:master
 
 .clang8-template:
-  image: gromacs/continuous-integration:ci-clang-8
+  image: gromacs/ci-clang-8:master
 
 .gcc5-gmxapi-template:
-  image: gromacs/continuous-integration:ci-gcc-5-gmxapi
+  image: gromacs/ci-gcc-5-gmxapi:master
 
 .gcc6-gmxapi-template:
-  image: gromacs/continuous-integration:ci-gcc-6-gmxapi
+  image: gromacs/ci-gcc-6-gmxapi:master
 
 .gcc7-gmxapi-template:
-  image: gromacs/continuous-integration:ci-gcc-7-gmxapi
+  image: gromacs/ci-gcc-7-gmxapi:master
 
 .gcc8-gmxapi-template:
-  image: gromacs/continuous-integration:ci-gcc-8-gmxapi
+  image: gromacs/ci-gcc-8-gmxapi:master
 
 .clang6-gmxapi-template:
-  image: gromacs/continuous-integration:ci-clang-6-gmxapi
+  image: gromacs/ci-clang-6-gmxapi:master
 
 .clang7-gmxapi-template:
-  image: gromacs/continuous-integration:ci-clang-7-gmxapi
+  image: gromacs/ci-clang-7-gmxapi:master
 
 .clang8-gmxapi-template:
-  image: gromacs/continuous-integration:ci-clang-8-gmxapi
+  image: gromacs/ci-clang-8-gmxapi:master
 
 .gcc-8-cuda-10.2-template:
-  image: gromacs/continuous-integration:ci-gcc-8-cuda-10.2
+  image: gromacs/ci-gcc-8-cuda-10.2:master
   variables:
     CUDA_BASE_VERSION: "10.2"
     COMPILER_MAJOR_VERSION: 8
index 9b69b5545c4be4648820ae1f9229e80322a60d75..6472331961091fcf68f4e5566c70f9d0005b9e1f 100644 (file)
@@ -7,7 +7,7 @@ export SLUG="ci-$MATRIX"
 
 docker login
 
-tags[0]=gromacs/base
+tags[0]=gromacs/base:master
 docker pull ${tags[0]} || true
 docker build -t ${tags[0]} --cache-from ${tags[0]} base
 
@@ -15,7 +15,7 @@ tool=clang
 for tool_version in 6 7 8; do
   MATRIX="$tool-$tool_version"
   SLUG="ci-$MATRIX"
-  tag=gromacs/continuous-integration:$SLUG
+  tag=gromacs/$SLUG:master
   tags[${#tags[@]}]=$tag
   docker build \
     -t $tag \
@@ -27,7 +27,7 @@ tool=gcc
 for tool_version in 5 6 7 8; do
   MATRIX="$tool-$tool_version"
   SLUG="ci-$MATRIX"
-  tag=gromacs/continuous-integration:$SLUG
+  tag=gromacs/$SLUG:master
   tags[${#tags[@]}]=$tag
   docker build \
     -t $tag \
@@ -35,12 +35,12 @@ for tool_version in 5 6 7 8; do
     ci-$tool
 done
 
-tag=gromacs/continuous-integration:ci-docs-clang
+tag=gromacs/ci-docs-clang:master
 tags[${#tags[@]}]=$tag
 docker build -t $tag \
              ci-docs-clang
 
-tag=gromacs/continuous-integration:ci-docs-gcc
+tag=gromacs/ci-docs-gcc:master
 tags[${#tags[@]}]=$tag
 docker build -t $tag \
              ci-docs-gcc
index 54f6e3b91337b525db495fa4013063e4b147dfbc..c7d91b983e4972e81499bdc787e7b777ac9b3708 100644 (file)
@@ -1,7 +1,7 @@
 # Make an image that has the dependencies for building GROMACS with clang.
 # Note when specifying TOOL_VERSION that clang 6.0 packages use the minor version
 # in the name, while 7 and 8 do not.
-FROM gromacs/base
+FROM gromacs/base:master
 WORKDIR /tmp
 ARG TOOL_VERSION
 RUN \
index deaa2fb5c918c1423d5819d65ec71ae5cb7eec45..4b1531d37b4d6e9b6b133c088b232b618f15d1c3 100644 (file)
@@ -33,7 +33,7 @@ RUN \
 # We also install it separatly because it pulls in some dependencies
 # that are needed for the documentation build.
 
-FROM gromacs/continuous-integration:ci-clang-7
+FROM gromacs/ci-clang-7:master
 WORKDIR /tmp
 COPY --from=doxygen-builder /usr/local/bin/* /usr/local/bin/
 RUN \
index b9c85a99ed56409c4199b6cf5f9475167a17b563..3c373513df8a477b88fffdc19358a84abf96a642 100644 (file)
@@ -33,7 +33,7 @@ RUN \
 # We also install it separatly because it pulls in some dependencies
 # that are needed for the documentation build.
 
-FROM gromacs/continuous-integration:ci-gcc-7
+FROM gromacs/ci-gcc-7:master
 WORKDIR /tmp
 COPY --from=doxygen-builder /usr/local/bin/* /usr/local/bin/
 RUN \
index a7ac7e7c3626ece367bf7edd3c7d8dcdb8328304..8f53af5f4fcd184d91e51bbad1f939f15b063e05 100644 (file)
@@ -1,7 +1,7 @@
 # Make an image that has the dependencies for building GROMACS with gcc.
 
 
-FROM gromacs/base
+FROM gromacs/base:master
 WORKDIR /tmp
 ARG TOOL_VERSION
 RUN \