From: M. Eric Irrgang Date: Fri, 20 Mar 2020 10:56:53 +0000 (+0300) Subject: Consolidate documentation templates. X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=commitdiff_plain;h=335b0a30cde156b9cbba8900dc0988542d5407ee;p=alexxy%2Fgromacs.git Consolidate documentation templates. Change-Id: I212a03d5fa276e018f1a43fd62904bb73bb8ca91 --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9877a1d0b1..c6996fc69f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 index 70fa937cda..0000000000 --- a/admin/ci-templates/.build-docs-template.yml +++ /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 index 43c73b4d52..0000000000 --- a/admin/ci-templates/.documentation-before-script.yml +++ /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 - diff --git a/admin/gitlab-ci/documentation.gitlab-ci.yml b/admin/gitlab-ci/documentation.gitlab-ci.yml index e38b5d87a8..021acc0774 100644 --- a/admin/gitlab-ci/documentation.gitlab-ci.yml +++ b/admin/gitlab-ci/documentation.gitlab-ci.yml @@ -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