# Build documentation and web page.
.documentation-before-script-template:
- variables:
- EXTRA_INSTALLS: ""
-
before_script:
- echo $EXTRA_INSTALLS
- time apt-get -qq update
# TODO this should be organized more like the current documentation.py script
image: gromacs/ci-docs-clang:master
stage: configure-build
+ extends:
+ - .variables:default
only:
refs:
- web
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" ;
# TODO this should be organized more like the current documentation.py script
image: gromacs/ci-docs-clang:master
stage: release-configure
+ extends:
+ - .variables:default
variables:
KUBERNETES_CPU_LIMIT: 1
KUBERNETES_CPU_REQUEST: 1
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
variables:
- $GROMACS_RELEASE
-configure-docs-gmxapi:
- extends:
- - .configure-docs
- - .configure-gmxapi-template
- needs:
- - job: simple-build
- artifacts: false
- variables:
- BUILD_DIR: build-docs-gmxapi
- CMAKE_EXTRA_OPTIONS: -DGMX_BUILD_HELP=on -DGMX_BUILD_MANUAL=on
- except:
- 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
variables:
- $GROMACS_RELEASE
-build-docs-gmxapi:
- extends:
- - .build-docs-binary
- - .gmxapi-extra-installs
- stage: documentation
- needs:
- - job: simple-build
- artifacts: false
- - job: configure-docs-gmxapi
- artifacts: true
- variables:
- BUILD_DIR: build-docs-gmxapi
- except:
- variables:
- - $GROMACS_RELEASE
-
-
# The manual build is built separately so that errors in converting
# Sphinx to LaTeX and compiling can always be found in the
# all-output.txt file, while avoiding many thousands of lines of spam
variables:
- $GROMACS_RELEASE
-webpage-gmxapi:
- extends:
- - .build-docs-webpage
- - .gmxapi-extra-installs
- stage: post-test
- needs:
- - job: build-docs-gmxapi
- artifacts: true
- - job: run-check-source
- artifacts: false
- variables:
- BUILD_DIR: build-docs-gmxapi
- except:
- variables:
- - $GROMACS_RELEASE
-
webpage-nightly:
extends:
- .build-docs-webpage
- - .configure-gmxapi-template
stage: nightly-deploy
only:
- web
artifacts: false
- job: linkchecker
artifacts: false
- - job: webpage-gmxapi
+ - job: webpage
artifacts: true
variables:
- BUILD_DIR: build-docs-gmxapi
+ BUILD_DIR: build-docs
script:
- tar czf webpage.tar.gz $BUILD_DIR/docs/html/
artifacts:
webpage-configure-release:
extends:
- .configure-docs-release
- - .configure-gmxapi-template
cache: {}
only:
refs:
webpage-binary-release:
extends:
- .build-docs-binary
- - .gmxapi-extra-installs
stage: release-build
needs:
- job: webpage-configure-release
webpage-build-release:
extends:
- .build-docs-webpage
- - .configure-gmxapi-template
dependencies:
- webpage-binary-release
- webpage-configure-release
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:
- echo $CMAKE_COMPILER_SCRIPT
- echo $CMAKE_EXTRA_OPTIONS
CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
- CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
RELEASE_BUILD_DIR: release-builds
RELEASE_SOURCE: release-source-from-tarball
RELEASE_REGRESSIONTESTS: release-regressiontests-from-tarball
- package-regressiontests-release
- prepare-release-version
-gromacs:gcc-7:configure-gmxapi:
- extends:
- - .gromacs:base:configure
- - .configure-gmxapi-template
- - .use-gcc7
- needs:
- - job: simple-build
- artifacts: false
- except:
- variables:
- - $GROMACS_RELEASE
-
-gromacs:gcc-7:release:configure-gmxapi:
- extends:
- - .gromacs:base:release:configure
- - .configure-gmxapi-template
- - .use-gcc7
- cache: {}
- variables:
- RELEASE_BUILD_DIR: release-builds-gcc
- only:
- refs:
- - web
- - schedules
- - triggers
- variables:
- - $GROMACS_RELEASE
- dependencies:
- - package-archive-release
- - package-regressiontests-release
- - prepare-release-version
-
gromacs:gcc-8:configure:
extends:
- .gromacs:base:configure
- .gromacs:base:configure
- .use-cuda
- .use-gcc8:cuda-10.2
+ variables:
+ CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
+ # TODO: Enable GMX_PYTHON_PACKAGE when dependencies are in Docker image.
needs:
- job: simple-build
artifacts: false
- package-regressiontests-release
- prepare-release-version
-gromacs:clang-7:configure-gmxapi:
- extends:
- - .gromacs:base:configure
- - .configure-gmxapi-template
- - .use-clang7
- needs:
- - job: simple-build
- artifacts: false
- except:
- variables:
- - $GROMACS_RELEASE
-
-gromacs:clang-7:release:configure-gmxapi:
- extends:
- - .gromacs:base:release:configure
- - .configure-gmxapi-template
- - .use-clang7
- cache: {}
- variables:
- RELEASE_BUILD_DIR: release-builds-clang
- only:
- refs:
- - web
- - schedules
- - triggers
- variables:
- - $GROMACS_RELEASE
- dependencies:
- - package-archive-release
- - package-regressiontests-release
- - prepare-release-version
-
gromacs:clang-8:configure:
extends:
- .gromacs:base:configure
variables:
- $GROMACS_RELEASE
-gromacs:gcc-7:build-gmxapi:
- extends:
- - .gromacs:base:build
- - .use-ccache
- - .variables:default
- - .gmxapi-extra-installs
- - .use-gcc7
- needs:
- - job: simple-build
- artifacts: false
- - job: gromacs:gcc-7:configure-gmxapi
- artifacts: true
- except:
- variables:
- - $GROMACS_RELEASE
-
gromacs:gcc-7-double:release:build:
extends:
- .gromacs:base:build
variables:
- $GROMACS_RELEASE
-gromacs:gcc-7:release:build-gmxapi:
- extends:
- - .gromacs:base:build
- - .use-ccache
- - .variables:default
- - .gmxapi-extra-installs
- - .use-gcc7
- stage: release-build
- variables:
- BUILD_DIR: release-builds-gcc
- needs:
- - job: gromacs:gcc-7:release:configure-gmxapi
- artifacts: true
- only:
- refs:
- - web
- - schedules
- - triggers
- variables:
- - $GROMACS_RELEASE
-
gromacs:gcc-8:build:
extends:
- .gromacs:base:build
- .variables:default
- .use-cuda
- .use-gcc8:cuda-10.2
+ variables:
+ CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
+ # TODO: Enable GMX_PYTHON_PACKAGE when dependencies are in Docker image.
needs:
- job: simple-build
artifacts: false
variables:
- $GROMACS_RELEASE
-gromacs:clang-7:build-gmxapi:
- extends:
- - .gromacs:base:build
- - .use-ccache
- - .variables:default
- - .gmxapi-extra-installs
- - .use-clang7
- needs:
- - job: simple-build
- artifacts: false
- - job: gromacs:clang-7:configure-gmxapi
- artifacts: true
- except:
- variables:
- - $GROMACS_RELEASE
-
-gromacs:clang-7:release:build-gmxapi:
- extends:
- - .gromacs:base:build
- - .use-ccache
- - .variables:default
- - .gmxapi-extra-installs
- - .use-clang7
- stage: release-build
- variables:
- BUILD_DIR: release-builds-clang
- needs:
- - job: gromacs:clang-7:release:configure-gmxapi
- artifacts: true
- only:
- refs:
- - web
- - schedules
- - triggers
- variables:
- - $GROMACS_RELEASE
-
gromacs:clang-8:build:
extends:
- .gromacs:base:build
variables:
- $GROMACS_RELEASE
-gromacs:gcc-7:test-gmxapi:
- extends:
- - .gromacs:base:test
- - .gmxapi-extra-installs
- - .use-gcc7
- needs:
- - job: simple-build
- artifacts: false
- - job: gromacs:gcc-7:build-gmxapi
- - job: prepare-regressiontests
- except:
- variables:
- - $GROMACS_RELEASE
-
-gromacs:gcc-7:release:test-gmxapi:
- extends:
- - .gromacs:base:test
- - .gmxapi-extra-installs
- - .use-gcc7
- stage: release-tests
- variables:
- BUILD_DIR: release-builds-gcc
- needs:
- - job: gromacs:gcc-7:release:configure-gmxapi
- artifacts: true
- - job: gromacs:gcc-7:release:build-gmxapi
- artifacts: true
- only:
- refs:
- - triggers
- - web
- - schedules
- variables:
- - $GROMACS_RELEASE
-
gromacs:gcc-8:test:
extends:
- .gromacs:base:test
REGRESSIONTEST_PME_RANK_NUMBER: 0
REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
REGRESSIONTEST_OMP_RANK_NUMBER: 1
+ CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
+ # TODO: Enable GMX_PYTHON_PACKAGE when dependencies are in Docker image.
extends:
- .gromacs:base:test
- .use-cuda
variables:
- $GROMACS_RELEASE
-gromacs:clang-7:test-gmxapi:
- extends:
- - .gromacs:base:test
- - .gmxapi-extra-installs
- - .use-clang7
- needs:
- - job: simple-build
- artifacts: false
- - job: gromacs:clang-7:build-gmxapi
- - job: prepare-regressiontests
- except:
- variables:
- - $GROMACS_RELEASE
-
-gromacs:clang-7:release:test-gmxapi:
- extends:
- - .gromacs:base:test
- - .gmxapi-extra-installs
- - .use-clang7
- stage: release-tests
- variables:
- BUILD_DIR: release-builds-clang
- needs:
- - job: gromacs:clang-7:release:configure-gmxapi
- artifacts: true
- - job: gromacs:clang-7:release:build-gmxapi
- artifacts: true
- only:
- refs:
- - triggers
- - web
- - schedules
- variables:
- - $GROMACS_RELEASE
-
gromacs:clang-8:test:
extends:
- .gromacs:base:test