Consolidate documentation templates.
authorM. Eric Irrgang <ericirrgang@gmail.com>
Fri, 20 Mar 2020 10:56:53 +0000 (13:56 +0300)
committerPaul Bauer <paul.bauer.q@gmail.com>
Sun, 22 Mar 2020 11:09:22 +0000 (12:09 +0100)
Change-Id: I212a03d5fa276e018f1a43fd62904bb73bb8ca91

.gitlab-ci.yml
admin/ci-templates/.build-docs-template.yml [deleted file]
admin/ci-templates/.documentation-before-script.yml [deleted file]
admin/gitlab-ci/documentation.gitlab-ci.yml

index 9877a1d0b1025745e23f0c61331976538d7e177c..c6996fc69fc878993d03a00057c76b7ef5da293b 100644 (file)
@@ -52,9 +52,7 @@ include:
   - local: '/admin/ci-templates/.clang-build-template.yml'
   - local: '/admin/ci-templates/.clang-test-template.yml'
   - local: '/admin/ci-templates/.clang-before-script.yml'
-  - local: '/admin/ci-templates/.documentation-before-script.yml'
   - local: '/admin/ci-templates/.test-script-template.yml'
-  - local: '/admin/ci-templates/.build-docs-template.yml'
   - local: '/admin/ci-templates/.cuda-template.yml'
   - local: '/admin/ci-templates/.build-gmxapi-template.yml'
   - local: '/admin/ci-templates/.regressiontest-template.yml'
diff --git a/admin/ci-templates/.build-docs-template.yml b/admin/ci-templates/.build-docs-template.yml
deleted file mode 100644 (file)
index 70fa937..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-.configure-docs-template:
-  # Built by admin/dockerfiles/ci-docs-clang
-  # TODO this should be organized more like the current documentation.py script
-  image: gromacs/ci-docs-clang:master
-  stage: configure-build
-  variables:
-    KUBERNETES_CPU_LIMIT: 1
-    KUBERNETES_CPU_REQUEST: 1
-    KUBERNETES_MEMORY_LIMIT: 2Gi
-    CMAKE_COMPILER_SCRIPT: "-DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7"
-    CMAKE_EXTRA_OPTIONS: ""
-    CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
-    CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=OFF"
-    CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
-    CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug"
-    CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
-    CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
-
-  script:
-    - if [[ ! -z $GROMACS_RELEASE && $GROMACS_RELEASE == "true" ]] ; then
-      REL_OPTION="-DGMX_BUILD_TARBALL=ON" ;
-      else
-      REL_OPTION="-DGMX_BUILD_TARBALL=OFF" ;
-      fi
-    - echo $CMAKE_COMPILER_SCRIPT
-    - echo $CMAKE_EXTRA_OPTIONS
-    - echo $CMAKE_SIMD_OPTIONS
-    - echo $CMAKE_GPU_OPTIONS
-    - echo $CMAKE_MPI_OPTIONS
-    - echo $CMAKE_PRECISION_OPTIONS
-    - echo $CMAKE_BUILD_TYPE_OPTIONS
-    - echo $CMAKE_GMXAPI_OPTIONS
-    - echo $REL_OPTION
-    - if [[ -d $BUILD_DIR ]] ; then
-        rm -rf $BUILD_DIR && mkdir $BUILD_DIR ;
-      else
-        echo "Preparing new build directory" ;
-        mkdir $BUILD_DIR ;
-      fi
-    - cd $BUILD_DIR
-    - cmake ..
-        -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-        $CMAKE_COMPILER_SCRIPT
-        $CMAKE_EXTRA_OPTIONS
-        $CMAKE_SIMD_OPTIONS
-        $CMAKE_MPI_OPTIONS
-        $CMAKE_PRECISION_OPTIONS
-        $CMAKE_BUILD_TYPE_OPTIONS
-        $CMAKE_GPU_OPTIONS
-        $CMAKE_GMXAPI_OPTIONS
-        $REL_OPTION
-        -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
-        2>&1 | tee cmakeLog.log
-    - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
-    - if [ -s cmakeErrors.log  ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
-    - cd ..
-  artifacts:
-    name: docs-artifacts-$CI_COMMIT_REF_SLUG
-    when: always
-    expire_in: 1 week
-    paths:
-      - $BUILD_DIR
-
-.build-docs-binary-template:
-  # Built by admin/dockerfiles/ci-docs-clang
-  # TODO this should be organized more like the current documentation.py script
-  image: gromacs/ci-docs-clang:master
-  script:
-    - cd $BUILD_DIR
-    - cmake --build . --target gmx -- -j8
-    - cd ..
-  artifacts:
-    name: docs-artifacts-$CI_COMMIT_REF_SLUG
-    when: always
-    expire_in: 1 week
-    paths:
-      - $BUILD_DIR
-
-.build-docs-webpage-template:
-  # Built by admin/dockerfiles/ci-docs-clang
-  # TODO this should be organized more like the current documentation.py script
-  image: gromacs/ci-docs-clang:master
-  variables:
-    KUBERNETES_CPU_LIMIT: 4
-    KUBERNETES_CPU_REQUEST: 2
-    KUBERNETES_MEMORY_LIMIT: 4Gi
-  script:
-    - cd $BUILD_DIR
-    - cmake --build . --target manual -- -j4 | tee docs/manual/all-output.log
-      | grep -i "warning" | grep -v "TeX" | grep -v "Package" || true
-    - cmake --build . --target webpage -- -j4
-    - grep "WARNING:" docs/manual/all-output.log | tee pythonErrors.log || true
-    - grep -i "error" docs/sphinx-*.log | tee sphinxDiagnostics.log || true
-    - grep -i "warning" docs/sphinx-*.log | tee -a sphinxDiagnostics.log || true
-    - if [ -s pythonErrors.log ] ; then echo "Found Python Errors during build"; exit 1; fi
-    - if [ -s sphinxErrors.log ] ; then echo "Found errors during Sphinx documentation build"; cat sphinxErrors.log; exit 1; fi
-    - if [ -s sphinxDiagnostics.log ] ; then echo "Found diagnostic warnings during Sphinx documentation build"; cat sphinxDiagnostics.log; exit 1; fi
-    - cd ..
-  artifacts:
-    name: docs-artifacts-$CI_COMMIT_REF_SLUG
-    when: always
-    expire_in: 1 week
-    paths:
-      - $BUILD_DIR/*.log
-      - $BUILD_DIR/docs/html
-      - $BUILD_DIR/docs/manual/gromacs.log
-      - $BUILD_DIR/docs/manual/all-output.log
-      - $BUILD_DIR/docs/doxygen/doxygen-user.log
-      - $BUILD_DIR/docs/doxygen/doxygen-lib.log
-      - $BUILD_DIR/docs/doxygen/doxygen-full.log
-      - $BUILD_DIR/docs/sphinx-html.log
-
-.configure-docs-release-template:
-  # Built by admin/dockerfiles/ci-docs-clang
-  # TODO this should be organized more like the current documentation.py script
-  image: gromacs/ci-docs-clang:master
-  stage: release-configure
-  variables:
-    KUBERNETES_CPU_LIMIT: 1
-    KUBERNETES_CPU_REQUEST: 1
-    KUBERNETES_MEMORY_LIMIT: 2Gi
-    CMAKE_COMPILER_SCRIPT: "-DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7"
-    CMAKE_EXTRA_OPTIONS: ""
-    CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
-    CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=ON"
-    CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
-    CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug"
-    CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
-    CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
-    RELEASE_BUILD_DIR: release-doc-builds
-    RELEASE_SOURCE: release-source-from-tarball
-    RELEASE_REGRESSIONTESTS: release-regressiontests-from-tarball
-
-  only:
-    refs:
-      - web
-      - schedules
-      - triggers
-    variables:
-      - $GROMACS_RELEASE
-  script:
-    - if [[ $GROMACS_RELEASE == "true" ]] ; then
-      REL_OPTION="-DGMX_BUILD_TARBALL=ON" ;
-      else
-      REL_OPTION="-DGMX_BUILD_TARBALL=OFF" ;
-      fi
-    - echo $CMAKE_COMPILER_SCRIPT
-    - echo $CMAKE_EXTRA_OPTIONS
-    - echo $CMAKE_SIMD_OPTIONS
-    - echo $CMAKE_GPU_OPTIONS
-    - echo $CMAKE_MPI_OPTIONS
-    - echo $CMAKE_PRECISION_OPTIONS
-    - echo $CMAKE_BUILD_TYPE_OPTIONS
-    - echo $CMAKE_GMXAPI_OPTIONS
-    - echo $REL_OPTION
-    - VERSION=`cat version.json |
-        python3 -c "import json,sys; print(json.load(sys.stdin)['version'])"`
-    - if [[ $GROMACS_RELEASE != "true" ]] ; then
-          VERSION=$VERSION-dev ;
-      fi
-    - REGTEST_COMPARE=`cat version.json |
-        python3 -c "import json,sys; print(json.load(sys.stdin)['regressiontest-md5sum'])"`
-    - SOURCENAME=gromacs-$VERSION
-    - SOURCETARBALL=$SOURCENAME.tar.gz
-    - REGTESTNAME=regressiontests-$VERSION
-    - REGTESTTARBALL=$REGTESTNAME.tar.gz
-    - SOURCE_MD5SUM=`md5sum $SOURCETARBALL | awk '{print $1}'`
-    - RELEASE_TARBALLS=release-tarballs
-    - rm -rf $RELEASE_TARBALLS $RELEASE_SOURCE $RELEASE_REGRESSIONTESTS && mkdir $RELEASE_TARBALLS
-    - mv $SOURCETARBALL $RELEASE_TARBALLS
-    - mv $REGTESTTARBALL $RELEASE_TARBALLS
-    - cd $RELEASE_TARBALLS
-# We rename the source and regressiontest directories
-# to have names for them that don't change for different versions.
-    - tar -xf $SOURCETARBALL
-    - mv $SOURCENAME ../$RELEASE_SOURCE
-    - tar -xf $REGTESTTARBALL
-    - mv $REGTESTNAME ../$RELEASE_REGRESSIONTESTS
-    - rm $SOURCETARBALL $REGTESTTARBALL
-    - cd ..
-    - echo $CMAKE_COMPILER_SCRIPT
-    - echo $CMAKE_EXTRA_OPTIONS
-    - echo $CMAKE_SIMD_OPTIONS
-    - echo $CMAKE_GPU_OPTIONS
-    - echo $CMAKE_MPI_OPTIONS
-    - echo $CMAKE_PRECISION_OPTIONS
-    - echo $CMAKE_BUILD_TYPE_OPTIONS
-    - echo $CMAKE_GMXAPI_OPTIONS
-    - if [[ -d $RELEASE_BUILD_DIR ]] ; then
-        echo "Cleaning up build directory" ;
-        rm -rf $RELEASE_BUILD_DIR && mkdir $RELEASE_BUILD_DIR ;
-      else
-        echo "Preparing new build directory" ;
-        mkdir $RELEASE_BUILD_DIR ;
-      fi
-    - cd $RELEASE_BUILD_DIR
-    - cmake ../$RELEASE_SOURCE/
-        -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-        $CMAKE_COMPILER_SCRIPT
-        $CMAKE_EXTRA_OPTIONS
-        $CMAKE_SIMD_OPTIONS
-        $CMAKE_MPI_OPTIONS
-        $CMAKE_PRECISION_OPTIONS
-        $CMAKE_BUILD_TYPE_OPTIONS
-        $CMAKE_GPU_OPTIONS
-        $CMAKE_GMXAPI_OPTIONS
-        $REL_OPTION
-        "-DSOURCE_MD5SUM=$SOURCE_MD5SUM"
-        "-DREGRESSIONTEST_PATH=../$RELEASE_REGRESSIONTESTS"
-        -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
-        2>&1 | tee cmakeLog.log
-    - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
-    - if [ -s cmakeErrors.log  ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
-    - cd ..
-  artifacts:
-    name: docs-artifacts-$CI_COMMIT_REF_SLUG
-    when: always
-    expire_in: 1 week
-    paths:
-      - $RELEASE_BUILD_DIR
-      - $RELEASE_REGRESSIONTESTS
-      - $RELEASE_SOURCE
diff --git a/admin/ci-templates/.documentation-before-script.yml b/admin/ci-templates/.documentation-before-script.yml
deleted file mode 100644 (file)
index 43c73b4..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-.documentation-before-script-template:
-  variables:
-    EXTRA_INSTALLS: ""
-
-  before_script:
-      - echo $EXTRA_INSTALLS
-      - time apt-get -qq update
-      - time apt-get -qqy --no-install-suggests --no-install-recommends install
-          $EXTRA_INSTALLS
-      - mkdir -p ccache
-      - export CCACHE_BASEDIR=${PWD}
-      - export CCACHE_DIR=${PWD}/ccache
-
index e38b5d87a846ae1068242bda4c2a143b1d559af4..021acc0774ecfc1dc042c2dc3d9e587b4ed8cbdd 100644 (file)
@@ -1,4 +1,190 @@
 # Build documentation and web page.
+.documentation-before-script-template:
+  variables:
+    EXTRA_INSTALLS: ""
+
+  before_script:
+    - echo $EXTRA_INSTALLS
+    - time apt-get -qq update
+    - time apt-get -qqy --no-install-suggests --no-install-recommends install
+      $EXTRA_INSTALLS
+    - mkdir -p ccache
+    - export CCACHE_BASEDIR=${PWD}
+    - export CCACHE_DIR=${PWD}/ccache
+
+.configure-docs-template:
+  # Built by admin/dockerfiles/ci-docs-clang
+  # TODO this should be organized more like the current documentation.py script
+  image: gromacs/ci-docs-clang:master
+  stage: configure-build
+  variables:
+    KUBERNETES_CPU_LIMIT: 1
+    KUBERNETES_CPU_REQUEST: 1
+    KUBERNETES_MEMORY_LIMIT: 2Gi
+    CMAKE_COMPILER_SCRIPT: "-DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7"
+    CMAKE_EXTRA_OPTIONS: ""
+    CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
+    CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=OFF"
+    CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
+    CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug"
+    CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
+    CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
+
+  script:
+    - if [[ ! -z $GROMACS_RELEASE && $GROMACS_RELEASE == "true" ]] ; then
+      REL_OPTION="-DGMX_BUILD_TARBALL=ON" ;
+      else
+      REL_OPTION="-DGMX_BUILD_TARBALL=OFF" ;
+      fi
+    - echo $CMAKE_COMPILER_SCRIPT
+    - echo $CMAKE_EXTRA_OPTIONS
+    - echo $CMAKE_SIMD_OPTIONS
+    - echo $CMAKE_GPU_OPTIONS
+    - echo $CMAKE_MPI_OPTIONS
+    - echo $CMAKE_PRECISION_OPTIONS
+    - echo $CMAKE_BUILD_TYPE_OPTIONS
+    - echo $CMAKE_GMXAPI_OPTIONS
+    - echo $REL_OPTION
+    - if [[ -d $BUILD_DIR ]] ; then
+      rm -rf $BUILD_DIR && mkdir $BUILD_DIR ;
+      else
+      echo "Preparing new build directory" ;
+      mkdir $BUILD_DIR ;
+      fi
+    - cd $BUILD_DIR
+    - cmake ..
+      -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
+      $CMAKE_COMPILER_SCRIPT
+      $CMAKE_EXTRA_OPTIONS
+      $CMAKE_SIMD_OPTIONS
+      $CMAKE_MPI_OPTIONS
+      $CMAKE_PRECISION_OPTIONS
+      $CMAKE_BUILD_TYPE_OPTIONS
+      $CMAKE_GPU_OPTIONS
+      $CMAKE_GMXAPI_OPTIONS
+      $REL_OPTION
+      -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
+      2>&1 | tee cmakeLog.log
+    - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
+    - if [ -s cmakeErrors.log  ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
+    - cd ..
+  artifacts:
+    name: docs-artifacts-$CI_COMMIT_REF_SLUG
+    when: always
+    expire_in: 1 week
+    paths:
+      - $BUILD_DIR
+
+.configure-docs-release-template:
+  # Built by admin/dockerfiles/ci-docs-clang
+  # TODO this should be organized more like the current documentation.py script
+  image: gromacs/ci-docs-clang:master
+  stage: release-configure
+  variables:
+    KUBERNETES_CPU_LIMIT: 1
+    KUBERNETES_CPU_REQUEST: 1
+    KUBERNETES_MEMORY_LIMIT: 2Gi
+    CMAKE_COMPILER_SCRIPT: "-DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7"
+    CMAKE_EXTRA_OPTIONS: ""
+    CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
+    CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=ON"
+    CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
+    CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug"
+    CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
+    CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
+    RELEASE_BUILD_DIR: release-doc-builds
+    RELEASE_SOURCE: release-source-from-tarball
+    RELEASE_REGRESSIONTESTS: release-regressiontests-from-tarball
+
+  only:
+    refs:
+      - web
+      - schedules
+      - triggers
+    variables:
+      - $GROMACS_RELEASE
+  script:
+    - if [[ $GROMACS_RELEASE == "true" ]] ; then
+      REL_OPTION="-DGMX_BUILD_TARBALL=ON" ;
+      else
+      REL_OPTION="-DGMX_BUILD_TARBALL=OFF" ;
+      fi
+    - echo $CMAKE_COMPILER_SCRIPT
+    - echo $CMAKE_EXTRA_OPTIONS
+    - echo $CMAKE_SIMD_OPTIONS
+    - echo $CMAKE_GPU_OPTIONS
+    - echo $CMAKE_MPI_OPTIONS
+    - echo $CMAKE_PRECISION_OPTIONS
+    - echo $CMAKE_BUILD_TYPE_OPTIONS
+    - echo $CMAKE_GMXAPI_OPTIONS
+    - echo $REL_OPTION
+    - VERSION=`cat version.json |
+      python3 -c "import json,sys; print(json.load(sys.stdin)['version'])"`
+    - if [[ $GROMACS_RELEASE != "true" ]] ; then
+      VERSION=$VERSION-dev ;
+      fi
+    - REGTEST_COMPARE=`cat version.json |
+      python3 -c "import json,sys; print(json.load(sys.stdin)['regressiontest-md5sum'])"`
+    - SOURCENAME=gromacs-$VERSION
+    - SOURCETARBALL=$SOURCENAME.tar.gz
+    - REGTESTNAME=regressiontests-$VERSION
+    - REGTESTTARBALL=$REGTESTNAME.tar.gz
+    - SOURCE_MD5SUM=`md5sum $SOURCETARBALL | awk '{print $1}'`
+    - RELEASE_TARBALLS=release-tarballs
+    - rm -rf $RELEASE_TARBALLS $RELEASE_SOURCE $RELEASE_REGRESSIONTESTS && mkdir $RELEASE_TARBALLS
+    - mv $SOURCETARBALL $RELEASE_TARBALLS
+    - mv $REGTESTTARBALL $RELEASE_TARBALLS
+    - cd $RELEASE_TARBALLS
+    # We rename the source and regressiontest directories
+    # to have names for them that don't change for different versions.
+    - tar -xf $SOURCETARBALL
+    - mv $SOURCENAME ../$RELEASE_SOURCE
+    - tar -xf $REGTESTTARBALL
+    - mv $REGTESTNAME ../$RELEASE_REGRESSIONTESTS
+    - rm $SOURCETARBALL $REGTESTTARBALL
+    - cd ..
+    - echo $CMAKE_COMPILER_SCRIPT
+    - echo $CMAKE_EXTRA_OPTIONS
+    - echo $CMAKE_SIMD_OPTIONS
+    - echo $CMAKE_GPU_OPTIONS
+    - echo $CMAKE_MPI_OPTIONS
+    - echo $CMAKE_PRECISION_OPTIONS
+    - echo $CMAKE_BUILD_TYPE_OPTIONS
+    - echo $CMAKE_GMXAPI_OPTIONS
+    - if [[ -d $RELEASE_BUILD_DIR ]] ; then
+      echo "Cleaning up build directory" ;
+      rm -rf $RELEASE_BUILD_DIR && mkdir $RELEASE_BUILD_DIR ;
+      else
+      echo "Preparing new build directory" ;
+      mkdir $RELEASE_BUILD_DIR ;
+      fi
+    - cd $RELEASE_BUILD_DIR
+    - cmake ../$RELEASE_SOURCE/
+      -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
+      $CMAKE_COMPILER_SCRIPT
+      $CMAKE_EXTRA_OPTIONS
+      $CMAKE_SIMD_OPTIONS
+      $CMAKE_MPI_OPTIONS
+      $CMAKE_PRECISION_OPTIONS
+      $CMAKE_BUILD_TYPE_OPTIONS
+      $CMAKE_GPU_OPTIONS
+      $CMAKE_GMXAPI_OPTIONS
+      $REL_OPTION
+      "-DSOURCE_MD5SUM=$SOURCE_MD5SUM"
+      "-DREGRESSIONTEST_PATH=../$RELEASE_REGRESSIONTESTS"
+      -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
+      2>&1 | tee cmakeLog.log
+    - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
+    - if [ -s cmakeErrors.log  ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
+    - cd ..
+  artifacts:
+    name: docs-artifacts-$CI_COMMIT_REF_SLUG
+    when: always
+    expire_in: 1 week
+    paths:
+      - $RELEASE_BUILD_DIR
+      - $RELEASE_REGRESSIONTESTS
+      - $RELEASE_SOURCE
 
 .configure-docs:
   extends:
@@ -39,6 +225,55 @@ configure-docs-gmxapi:
     variables:
       - $GROMACS_RELEASE
 
+.build-docs-binary-template:
+  # Built by admin/dockerfiles/ci-docs-clang
+  # TODO this should be organized more like the current documentation.py script
+  image: gromacs/ci-docs-clang:master
+  script:
+    - cd $BUILD_DIR
+    - cmake --build . --target gmx -- -j8
+    - cd ..
+  artifacts:
+    name: docs-artifacts-$CI_COMMIT_REF_SLUG
+    when: always
+    expire_in: 1 week
+    paths:
+      - $BUILD_DIR
+
+.build-docs-webpage-template:
+  # Built by admin/dockerfiles/ci-docs-clang
+  # TODO this should be organized more like the current documentation.py script
+  image: gromacs/ci-docs-clang:master
+  variables:
+    KUBERNETES_CPU_LIMIT: 4
+    KUBERNETES_CPU_REQUEST: 2
+    KUBERNETES_MEMORY_LIMIT: 4Gi
+  script:
+    - cd $BUILD_DIR
+    - cmake --build . --target manual -- -j4 | tee docs/manual/all-output.log
+      | grep -i "warning" | grep -v "TeX" | grep -v "Package" || true
+    - cmake --build . --target webpage -- -j4
+    - grep "WARNING:" docs/manual/all-output.log | tee pythonErrors.log || true
+    - grep -i "error" docs/sphinx-*.log | tee sphinxDiagnostics.log || true
+    - grep -i "warning" docs/sphinx-*.log | tee -a sphinxDiagnostics.log || true
+    - if [ -s pythonErrors.log ] ; then echo "Found Python Errors during build"; exit 1; fi
+    - if [ -s sphinxErrors.log ] ; then echo "Found errors during Sphinx documentation build"; cat sphinxErrors.log; exit 1; fi
+    - if [ -s sphinxDiagnostics.log ] ; then echo "Found diagnostic warnings during Sphinx documentation build"; cat sphinxDiagnostics.log; exit 1; fi
+    - cd ..
+  artifacts:
+    name: docs-artifacts-$CI_COMMIT_REF_SLUG
+    when: always
+    expire_in: 1 week
+    paths:
+      - $BUILD_DIR/*.log
+      - $BUILD_DIR/docs/html
+      - $BUILD_DIR/docs/manual/gromacs.log
+      - $BUILD_DIR/docs/manual/all-output.log
+      - $BUILD_DIR/docs/doxygen/doxygen-user.log
+      - $BUILD_DIR/docs/doxygen/doxygen-lib.log
+      - $BUILD_DIR/docs/doxygen/doxygen-full.log
+      - $BUILD_DIR/docs/sphinx-html.log
+
 .build-docs-binary:
   extends:
     - .build-extends-template