Revision eb5427810c316436dec51a9a1197315927f8d603 authored by Lars Bilke on 01 June 2023, 09:47:14 UTC, committed by Lars Bilke on 01 June 2023, 10:32:38 UTC
1 parent 063b043
.gitlab-ci.yml
stages:
- build
- release
- deploy
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
BUILDKIT_PROGRESS: "plain"
CPU_TARGET: ivybridge
OGSCM_ARGUMENTS:
value: "compiler.py ogs.py --ogs ogs/ogs@master"
description: "Arguments to ogscm. -B -C -R --ccache are always passed automatically. For more args see README.md!"
CMAKE_OPTIONS:
value: "-DOGS_CPU_ARCHITECTURE=OFF -DBUILD_TESTING=OFF"
description: "CMake options"
dev images:
tags: ["envinf23", "shell"]
stage: build
rules:
- if: $CI_COMMIT_TAG
when: never
- if: $CI_PIPELINE_SOURCE == "web"
when: never
- if: $CI_COMMIT_BRANCH == "main"
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- black --check ogscm
- poetry install
- poetry run ogscm compiler.py ogs.py -B --ogs off --cpu-target $CPU_TARGET
- poetry run ogscm compiler.py ogs.py ogs_jupyter.py -B -R --build_args ' --progress=plain' --cvode --ccache --cpmcache --mfront --cpu-target $CPU_TARGET --cmake_args ' -DOGS_CPU_ARCHITECTURE=OFF -DOGS_BUILD_TESTING=OFF -DOGS_BUILD_PROCESSES=SteadyStateDiffusion' --runtime_base_image 'registry.opengeosys.org/ogs/ogs/jupyter/base-notebook-ubuntu:22.04_3.10'
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: $CI_COMMIT_TAG
script:
- echo 'Running release job.'
release:
tag_name: "$CI_COMMIT_TAG"
description: "Created using the GitLab release-cli."
publish:
tags: ["shell"]
stage: deploy
rules:
- if: $CI_COMMIT_TAG
script:
- poetry install
- poetry build
- poetry publish -u $PYPI_USERNAME -p $PYPI_PASSWORD
manual build:
tags: ["envinf2-shell"]
stage: build
rules:
- if: $CI_PIPELINE_SOURCE != "web"
when: never
- if: $CI_COMMIT_BRANCH
script:
- poetry install
- eval poetry run ogscm ${OGSCM_ARGUMENTS} --cmake_args \" ${CMAKE_OPTIONS}\" -B -C -R --ccache --cpu-target ${CPU_TARGET}
artifacts:
paths:
- _out/images/*.sif
expire_in: 1 week
cache:
paths:
- .venv
Computing file changes ...