1 .configure-docs-template:
2 # Built by admin/dockerfiles/ci-docs-clang
3 # TODO this should be organized more like the current documentation.py script
4 image: gromacs/ci-docs-clang:2020
13 KUBERNETES_CPU_LIMIT: 1
14 KUBERNETES_CPU_REQUEST: 1
15 KUBERNETES_MEMORY_LIMIT: 2Gi
16 CMAKE_COMPILER_SCRIPT: "-DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7"
17 CMAKE_EXTRA_OPTIONS: ""
18 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
19 CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=OFF"
20 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
21 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug"
22 CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
23 CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
26 - if [[ ! -z $GROMACS_RELEASE && $GROMACS_RELEASE == "true" ]] ; then
27 REL_OPTION="-DGMX_BUILD_TARBALL=ON" ;
29 REL_OPTION="-DGMX_BUILD_TARBALL=OFF" ;
31 - echo $CMAKE_COMPILER_SCRIPT
32 - echo $CMAKE_EXTRA_OPTIONS
33 - echo $CMAKE_SIMD_OPTIONS
34 - echo $CMAKE_GPU_OPTIONS
35 - echo $CMAKE_MPI_OPTIONS
36 - echo $CMAKE_PRECISION_OPTIONS
37 - echo $CMAKE_BUILD_TYPE_OPTIONS
38 - echo $CMAKE_GMXAPI_OPTIONS
40 - if [[ -d $BUILD_DIR ]] ; then
41 rm -rf $BUILD_DIR && mkdir $BUILD_DIR ;
43 echo "Preparing new build directory" ;
48 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
49 $CMAKE_COMPILER_SCRIPT
53 $CMAKE_PRECISION_OPTIONS
54 $CMAKE_BUILD_TYPE_OPTIONS
58 -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
59 2>&1 | tee cmakeLog.log
60 - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
61 - if [ -s cmakeErrors.log ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
64 name: docs-artifacts-$CI_COMMIT_REF_SLUG
70 .build-docs-binary-template:
71 # Built by admin/dockerfiles/ci-docs-clang
72 # TODO this should be organized more like the current documentation.py script
73 image: gromacs/ci-docs-clang:2020
82 - cmake --build . --target gmx -- -j8
85 name: docs-artifacts-$CI_COMMIT_REF_SLUG
91 .build-docs-webpage-template:
92 # Built by admin/dockerfiles/ci-docs-clang
93 # TODO this should be organized more like the current documentation.py script
94 image: gromacs/ci-docs-clang:2020
102 KUBERNETES_CPU_LIMIT: 4
103 KUBERNETES_CPU_REQUEST: 2
104 KUBERNETES_MEMORY_LIMIT: 4Gi
107 - cmake --build . --target manual -- -j4 | tee docs/manual/all-output.log
108 | grep -i "warning" | grep -v "TeX" | grep -v "Package" || true
109 - cmake --build . --target webpage -- -j4
110 - grep "WARNING:" docs/manual/all-output.log | tee pythonErrors.log || true
111 - grep -i "error" docs/sphinx-*.log | tee sphinxDiagnostics.log || true
112 - grep -i "warning" docs/sphinx-*.log | tee -a sphinxDiagnostics.log || true
113 - if [ -s pythonErrors.log ] ; then echo "Found Python Errors during build"; exit 1; fi
114 - if [ -s sphinxErrors.log ] ; then echo "Found errors during Sphinx documentation build"; cat sphinxErrors.log; exit 1; fi
115 - if [ -s sphinxDiagnostics.log ] ; then echo "Found diagnostic warnings during Sphinx documentation build"; cat sphinxDiagnostics.log; exit 1; fi
118 name: docs-artifacts-$CI_COMMIT_REF_SLUG
123 - $BUILD_DIR/docs/html
124 - $BUILD_DIR/docs/manual/gromacs.log
125 - $BUILD_DIR/docs/manual/all-output.log
126 - $BUILD_DIR/docs/doxygen/doxygen-user.log
127 - $BUILD_DIR/docs/doxygen/doxygen-lib.log
128 - $BUILD_DIR/docs/doxygen/doxygen-full.log
129 - $BUILD_DIR/docs/sphinx-html.log
131 .configure-docs-release-template:
132 # Built by admin/dockerfiles/ci-docs-clang
133 # TODO this should be organized more like the current documentation.py script
134 image: gromacs/ci-docs-clang:2020
135 stage: release-configure
137 KUBERNETES_CPU_LIMIT: 1
138 KUBERNETES_CPU_REQUEST: 1
139 KUBERNETES_MEMORY_LIMIT: 2Gi
140 CMAKE_COMPILER_SCRIPT: "-DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7"
141 CMAKE_EXTRA_OPTIONS: ""
142 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
143 CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=ON"
144 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
145 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug"
146 CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
147 CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
148 RELEASE_BUILD_DIR: release-doc-builds
149 RELEASE_SOURCE: release-source-from-tarball
150 RELEASE_REGRESSIONTESTS: release-regressiontests-from-tarball
160 - if [[ $GROMACS_RELEASE == "true" ]] ; then
161 REL_OPTION="-DGMX_BUILD_TARBALL=ON" ;
163 REL_OPTION="-DGMX_BUILD_TARBALL=OFF" ;
165 - echo $CMAKE_COMPILER_SCRIPT
166 - echo $CMAKE_EXTRA_OPTIONS
167 - echo $CMAKE_SIMD_OPTIONS
168 - echo $CMAKE_GPU_OPTIONS
169 - echo $CMAKE_MPI_OPTIONS
170 - echo $CMAKE_PRECISION_OPTIONS
171 - echo $CMAKE_BUILD_TYPE_OPTIONS
172 - echo $CMAKE_GMXAPI_OPTIONS
174 - VERSION=`cat version.json |
175 python3 -c "import json,sys; print(json.load(sys.stdin)['version'])"`
176 - if [[ $GROMACS_RELEASE != "true" ]] ; then
177 VERSION=$VERSION-dev ;
179 - REGTEST_COMPARE=`cat version.json |
180 python3 -c "import json,sys; print(json.load(sys.stdin)['regressiontest-md5sum'])"`
181 - SOURCENAME=gromacs-$VERSION
182 - SOURCETARBALL=$SOURCENAME.tar.gz
183 - REGTESTNAME=regressiontests-$VERSION
184 - REGTESTTARBALL=$REGTESTNAME.tar.gz
185 - SOURCE_MD5SUM=`md5sum $SOURCETARBALL | awk '{print $1}'`
186 - RELEASE_TARBALLS=release-tarballs
187 - rm -rf $RELEASE_TARBALLS $RELEASE_SOURCE $RELEASE_REGRESSIONTESTS && mkdir $RELEASE_TARBALLS
188 - mv $SOURCETARBALL $RELEASE_TARBALLS
189 - mv $REGTESTTARBALL $RELEASE_TARBALLS
190 - cd $RELEASE_TARBALLS
191 # We rename the source and regressiontest directories
192 # to have names for them that don't change for different versions.
193 - tar -xf $SOURCETARBALL
194 - mv $SOURCENAME ../$RELEASE_SOURCE
195 - tar -xf $REGTESTTARBALL
196 - mv $REGTESTNAME ../$RELEASE_REGRESSIONTESTS
197 - rm $SOURCETARBALL $REGTESTTARBALL
199 - echo $CMAKE_COMPILER_SCRIPT
200 - echo $CMAKE_EXTRA_OPTIONS
201 - echo $CMAKE_SIMD_OPTIONS
202 - echo $CMAKE_GPU_OPTIONS
203 - echo $CMAKE_MPI_OPTIONS
204 - echo $CMAKE_PRECISION_OPTIONS
205 - echo $CMAKE_BUILD_TYPE_OPTIONS
206 - echo $CMAKE_GMXAPI_OPTIONS
207 - if [[ -d $RELEASE_BUILD_DIR ]] ; then
208 echo "Cleaning up build directory" ;
209 rm -rf $RELEASE_BUILD_DIR && mkdir $RELEASE_BUILD_DIR ;
211 echo "Preparing new build directory" ;
212 mkdir $RELEASE_BUILD_DIR ;
214 - cd $RELEASE_BUILD_DIR
215 - cmake ../$RELEASE_SOURCE/
216 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
217 $CMAKE_COMPILER_SCRIPT
221 $CMAKE_PRECISION_OPTIONS
222 $CMAKE_BUILD_TYPE_OPTIONS
224 $CMAKE_GMXAPI_OPTIONS
226 "-DSOURCE_MD5SUM=$SOURCE_MD5SUM"
227 "-DREGRESSIONTEST_PATH=../$RELEASE_REGRESSIONTESTS"
228 -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
229 2>&1 | tee cmakeLog.log
230 - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
231 - if [ -s cmakeErrors.log ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
234 name: docs-artifacts-$CI_COMMIT_REF_SLUG
239 - $RELEASE_REGRESSIONTESTS