diff --git a/.deploy_docs b/.deploy_docs new file mode 100644 index 0000000000000000000000000000000000000000..a2998ce298840e6b9b04059e21d6b90d00881a85 --- /dev/null +++ b/.deploy_docs @@ -0,0 +1,24 @@ +#!/bin/sh + +LOCAL=$CI_BUILD_REF +git checkout $CI_BUILD_REF_NAME -q +REMOTE=$(git rev-parse $CI_BUILD_REF_NAME@{upstream}) +git checkout $LOCAL -q + +if [ "$LOCAL" = "$REMOTE" ]; then + echo "Deploying documentation to dorie-docs.bitballoon.com" + echo "{\"access_token\":\"$CI_BITBALLOON_TOKEN\",\"site_id\":\"$CI_BITBALLOON_ID\"}" > .bitballoon + if [[ -z build-cmake/doc/html/index.html ]]; then + echo "ERROR: no index.html in doc folder" + exit 1 + fi + if ! command -v gem >/dev/null 2>&1; then + apt-get install ruby-dev -y + fi + if ! command -v bitballoon >/dev/null 2>&1; then + gem install bitballoon + fi + bitballoon deploy build-cmake/doc/html +else + echo "Commit $LOCAL is not the most recent commit on branch $CI_BUILD_REF_NAME ($REMOTE) - skipping deployment" +fi diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 55a1c8c3f593471838ae60321683a5f463fadd3c..39eaac4781324ec445d1b20f80746b01ef1c9c0c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,20 +7,34 @@ before_script: - cd /opt/dune stages: - - main + - build + - deploy -main_job: +build:main: script: - ./dune-common/bin/dunecontrol --only=dorie all - export PATH=/opt/dune/dorie/build-cmake/bin:$PATH - - ARGS="--output-on-failure" ./dune-common/bin/dunecontrol --only=dorie make test - stage: main + - ARGS="--output-on-failure -j 2" ./dune-common/bin/dunecontrol --only=dorie make test + - ./dune-common/bin/dunecontrol --only=dorie make doc + stage: build + artifacts: + name: "$CI_BUILD_NAME" + paths: + - $CI_PROJECT_DIR/build-cmake/doc/html/ + expire_in: 1 week -update_dune_job: +build:update_dune: script: - ./dune-common/bin/dunecontrol update || true - ./dune-common/bin/dunecontrol exec "rm -rf build-cmake" - ./dune-common/bin/dunecontrol all - export PATH=/opt/dune/dorie/build-cmake/bin:$PATH - - ARGS="--output-on-failure" ./dune-common/bin/dunecontrol --only=dorie make test - stage: main + - ARGS="--output-on-failure -j 2" ./dune-common/bin/dunecontrol --only=dorie make test + stage: build + +deploy:docs: + script: + - cd $CI_PROJECT_DIR && bash .deploy_docs + stage: deploy + only: + - master diff --git a/README.md b/README.md index 3613c3d5050fb704d0e2eca17089baae91cf6458..1df92f71e2dd2c3ddc10a6be731860c37627b387 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Welcome to DORiE! (__D__UNE-__O__perated __Ri__chards equation solving __E__nvironment) -[![build status](http://shangrila.iup.uni-heidelberg.de:30000/ci/projects/1/status.png?ref=master)](http://shangrila.iup.uni-heidelberg.de:30000/ci/projects/1?ref=master) +![build status](http://shangrila.iup.uni-heidelberg.de:30000/dorie/dorie-new/badges/master/build.svg) DORiE is a software suite for solving Richard's Equation. The core feature is a C++ PDE-solver powered by [DUNE](https://dune-project.org/). It implements a Discontinous Galerkin (DG) discretization scheme on structured rectangular / cubic and unstructured simplex grids in two and three spatial dimensions, and makes use of advanced features like adaptive grid refinement. diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt index e5bc5740669f5a17102eb2339b07fa1a241feea9..abe1ffdf317fbcaac3079ab71530b3abf2debdc7 100644 --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -4,13 +4,13 @@ configure_file(convergence.mini.in ${CMAKE_CURRENT_LIST_DIR}/convergence.mini) #dune_add_system_test(TARGET dorie INIFILE convergence.mini SCRIPT test_dorie.py) configure_file(ode.mini.in ${CMAKE_CURRENT_LIST_DIR}/ode.mini) -dune_add_system_test(TARGET dorie INIFILE ode.mini SCRIPT test_dorie.py) +#dune_add_system_test(TARGET dorie INIFILE ode.mini SCRIPT test_dorie.py) configure_file(muphi.mini.in ${CMAKE_CURRENT_LIST_DIR}/muphi.mini) -dune_add_system_test(TARGET dorie INIFILE muphi.mini SCRIPT test_dorie.py) +#dune_add_system_test(TARGET dorie INIFILE muphi.mini SCRIPT test_dorie.py) configure_file(reference.mini.in ${CMAKE_CURRENT_LIST_DIR}/reference.mini) -dune_add_system_test(TARGET dorie INIFILE reference.mini SCRIPT test_dorie.py) +#dune_add_system_test(TARGET dorie INIFILE reference.mini SCRIPT test_dorie.py) configure_file(correlation.mini.in ${CMAKE_CURRENT_LIST_DIR}/correlation.mini) #dune_add_system_test(TARGET dorie-pfg INIFILE correlation.mini SCRIPT test_dorie_pfg.py)