diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 62ca9abfafb5250d7b1c2da41be3b9f8fdff0fb6..bf7c56f8e379c0d37a67417e1072e319c3df69ff 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,18 +1,7 @@ -variables: - GIT_STRATEGY: fetch - OPENMPI_VERSIONS: 'off 2.1.6 3.1.4 4.0.1' +stages: + - test + - package -build-container: - tags: - - docker-shell - stage: build - script: - - git submodule update --init ThirdParty/container-maker - - virtualenv .venv - - source .venv/bin/activate - - pip install -r ThirdParty/container-maker/requirements.txt - - export PYTHONPATH="${PYTHONPATH}:${PWD}/ThirdParty/container-maker" - - python ThirdParty/container-maker/ogscm/cli.py -B -C -R --ogs . --pm system --cvode --ompi $OPENMPI_VERSIONS - artifacts: - paths: - - _out/images/*.sif +include: + - local: '/scripts/ci/jobs/container.yml' + - local: '/scripts/ci/jobs/build.yml' diff --git a/scripts/ci/jobs/build.yml b/scripts/ci/jobs/build.yml new file mode 100644 index 0000000000000000000000000000000000000000..1d47a78202427946bdd42389acf3035ff3153b3f --- /dev/null +++ b/scripts/ci/jobs/build.yml @@ -0,0 +1,25 @@ +build: + stage: test + variables: + CONAN_USER_HOME: "$CI_PROJECT_DIR" + CCACHE_DIR: "$CI_PROJECT_DIR/.ccache" + CTEST_NUM_THREADS: '4' + CTEST_LARGE_NUM_THREADS: '3' + image: + name: ogs6/gcc + entrypoint: + - '/usr/bin/env' + - 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' + cache: + paths: + - .conan + - .ccache + + before_script: + - mkdir -p build + - cd build + + script: + - cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DOGS_BUILD_PROCESSES=GroundwaterFlow + - cmake --build . --target tests + - cmake --build . --target ctest -j 3 diff --git a/scripts/ci/jobs/container.yml b/scripts/ci/jobs/container.yml new file mode 100644 index 0000000000000000000000000000000000000000..0b9fb648b362a3bf164186efad6ae66337dc399c --- /dev/null +++ b/scripts/ci/jobs/container.yml @@ -0,0 +1,20 @@ +container: + only: + refs: + - master + tags: + - docker-shell + stage: package + variables: + GIT_STRATEGY: fetch + OPENMPI_VERSIONS: 'off 2.1.6 3.1.4 4.0.1' + script: + - git submodule update --init ThirdParty/container-maker + - virtualenv .venv + - source .venv/bin/activate + - pip install -r ThirdParty/container-maker/requirements.txt + - export PYTHONPATH="${PYTHONPATH}:${PWD}/ThirdParty/container-maker" + - python ThirdParty/container-maker/ogscm/cli.py -B -C -R --ogs . --pm system --cvode --ompi $OPENMPI_VERSIONS + artifacts: + paths: + - _out/images/*.sif