diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d94fa3f4e88fc6a53442e679bf53bfd9621506f7..3a9d6dab86daa40af4580aa664a6802d35f9fae4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,6 +36,7 @@ include: - local: '/scripts/ci/jobs/build-docs.yml' - local: '/scripts/ci/jobs/build-win.yml' - local: '/scripts/ci/jobs/build-mac.yml' + - local: '/scripts/ci/jobs/jupyter.yml' # - template: 'Code-Quality.gitlab-ci.yml' # see !3053 - local: '/scripts/ci/jobs/code-quality.yml' - local: '/scripts/ci/jobs/code-coverage.yml' diff --git a/ThirdParty/container-maker b/ThirdParty/container-maker index 15cc228418fc1cf910adad60d154d4129459bc46..b32a22e17d2a9af486938e308d8aca1c7bce51ed 160000 --- a/ThirdParty/container-maker +++ b/ThirdParty/container-maker @@ -1 +1 @@ -Subproject commit 15cc228418fc1cf910adad60d154d4129459bc46 +Subproject commit b32a22e17d2a9af486938e308d8aca1c7bce51ed diff --git a/scripts/ci/jobs/container.yml b/scripts/ci/jobs/container.yml index e71cc974e36f6e630821d29d4344d6d4229192d7..37fa423bc597c14cf85a00f10a8344213111242c 100644 --- a/scripts/ci/jobs/container.yml +++ b/scripts/ci/jobs/container.yml @@ -34,14 +34,6 @@ container: --cvode --ccache --cmake_args ' -DOGS_CPU_ARCHITECTURE=sandybridge -DOGS_BUILD_TESTING=OFF' --base_image 'centos:8' --ompi 4.0.5 --mpi_benchmarks - # Jupyter container - - > - poetry run ogscm compiler.py ogs.py ogs_jupyter.py -B -C -R --ogs ../.. - --build_args ' --progress=plain' - --cvode --ccache --mfront - --cmake_args ' -DOGS_CPU_ARCHITECTURE=sandybridge -DOGS_BUILD_TESTING=OFF' - --runtime_base_image 'jupyter/base-notebook' - $DOCKER_TAG_JUPYTER # test ogs can run in container - | for sif in _out/images/*.sif; do diff --git a/scripts/ci/jobs/jupyter.yml b/scripts/ci/jobs/jupyter.yml new file mode 100644 index 0000000000000000000000000000000000000000..552f2f67aeaeb48deebdabc46ab850a1166cae8c --- /dev/null +++ b/scripts/ci/jobs/jupyter.yml @@ -0,0 +1,41 @@ +# Built for Sandy Bridge (envinf1) and newer +build jupyter: + stage: build + tags: [envinf2-shell] + needs: [meta] + extends: + - .container-maker-setup + script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - > + if [[ "$CI_COMMIT_BRANCH" == "master" ]] ; then + export DOCKER_TAG_JUPYTER="$CI_REGISTRY/ogs/$CI_PROJECT_NAME/ogs-serial-jupyter:latest" + export ON_MASTER_ARGS="--upload -C" + else + export DOCKER_TAG_JUPYTER="ci-$CI_PROJECT_NAME-$CI_COMMIT_BRANCH-jupyter" + fi + # Jupyter container + - > + poetry run ogscm compiler.py ogs.py ogs_jupyter.py -B -R --ogs ../.. + --build_args ' --progress=plain' + --cvode --ccache --mfront + --cmake_args ' -DOGS_CPU_ARCHITECTURE=sandybridge -DOGS_BUILD_TESTING=OFF' + --runtime_base_image 'jupyter/base-notebook' + --tag $DOCKER_TAG_JUPYTER + $ON_MASTER_ARGS + - cd $CI_PROJECT_DIR + # execute notebooks in container + - > + docker run --rm -v $PWD:/home/jovyan/work --user `id -u $USER` --group-add users + --workdir /home/jovyan/work $DOCKER_TAG_JUPYTER + bash -c "find Tests/Notebooks -type f -iname '*.ipynb' -not -path \"*.ipynb_checkpoints*\" | xargs -n1 jupyter nbconvert --execute --inplace" + - > + docker run --rm -v $PWD:/home/jovyan/work --user `id -u $USER` --group-add users + --workdir /home/jovyan/work $DOCKER_TAG_JUPYTER + bash -c "find Tests/Notebooks -type f -iname '*.ipynb' -not -path \"*.ipynb_checkpoints*\" | xargs -n1 nb2hugo --site-dir web --section docs/benchmarks/notebooks --template Tests/Notebooks/nbconvert_templates/collapsed.md.j2" + artifacts: + name: container + paths: + - ThirdParty/container-maker/_out/images/*.sif + - web/content/docs/benchmarks/notebooks + - web/static/docs/benchmarks/notebooks