The TS-GitLab will have to shut down towards the end of the year — please think about migrating your projects to GitLab.com or GitHub.
(This is still a very early message, meant to keep you informed. There will be more urgent ones in the future.)

Commit 1ad84e76 authored by Lukas Riedel's avatar Lukas Riedel
Browse files

Merge branch '69-add-additional-debug-job-with-clang' into 'master'

Resolve "Add additional debug job with Clang"

Closes #69

See merge request !54
parents 1b21049f 96f9bb80
......@@ -25,6 +25,8 @@ stages:
- test
- deploy
# --- Preparation of Docker Images ---
setup:dune-env: &setup
stage: setup
only:
......@@ -40,11 +42,21 @@ setup:dune-env: &setup
- $DOCKER_LOGIN
script:
- docker build -f docker/dune-env.dockerfile
--build-arg DUNE_ENV_IMAGE=$DUNE_ENV_IMAGE --build-arg PROCNUM=$CPUS_DIND
--build-arg PROCNUM=$CPUS_DIND
-t $DUNE_ENV_IMAGE .
- docker push $DUNE_ENV_IMAGE
prep:update-dune:
setup:dune-env-clang:
<<: *setup
script:
- docker build -f docker/dune-env.dockerfile
--build-arg CC=clang
--build-arg CXX=clang++
--build-arg PROCNUM=$CPUS_DIND
-t ${DUNE_ENV_IMAGE}-clang .
- docker push ${DUNE_ENV_IMAGE}-clang
prep:update-dune: &update
<<: *setup
stage: prep
only:
......@@ -52,10 +64,24 @@ prep:update-dune:
- tags
script:
- docker build -f docker/dune-env-update.dockerfile
--build-arg DUNE_ENV_IMAGE=$DUNE_ENV_IMAGE --build-arg PROCNUM=$CPUS_DIND
--build-arg DUNE_ENV_IMAGE=$DUNE_ENV_IMAGE
--build-arg PROCNUM=$CPUS_DIND
-t $DUNE_ENV_IMAGE .
- docker push $DUNE_ENV_IMAGE
prep:update-dune-clang:
<<: *update
script:
- docker build -f docker/dune-env-update.dockerfile
--build-arg DUNE_ENV_IMAGE={$DUNE_ENV_IMAGE}-clang
--build-arg CC=clang
--build-arg CXX=clang++
--build-arg PROCNUM=$CPUS_DIND
-t {$DUNE_ENV_IMAGE}-clang .
- docker push {$DUNE_ENV_IMAGE}-clang
# --- Build jobs ---
build:main:
stage: build
tags:
......@@ -72,7 +98,7 @@ build:main:
- $CI_PROJECT_DIR/build-cmake
expire_in: 1 day
build:debug:
build:debug: &debug
stage: build
allow_failure: true
script:
......@@ -84,6 +110,12 @@ build:debug:
- MAKE_FLAGS="$MAKE_FLAGS"
$DUNECONTROL --only=dorie make dorie_mass_conservation
build:debug-clang:
<<: *debug
image: ${DUNE_ENV_IMAGE}-clang
# --- Tests ---
test:exec_cmds: &test
stage: test
dependencies:
......@@ -121,6 +153,8 @@ test:mass_conserve:
- $DUNECONTROL --only=dorie configure
- $DUNECONTROL --only=dorie make test_mass_conservation
# --- Deploy jobs ---
deploy:dockerhub-devel: &deploy
stage: deploy
only:
......
......@@ -6,6 +6,7 @@
### Added
* Automatic deployment of `devel` and stable DORiE Docker Images to Docker Hub
* Automatic update of the DUNE environment Docker Image for `master` builds
* CI pipeline now also compiles a Debug build with the LLVM Clang compiler
### Changed
* Update code base to DUNE v2.6
......
......@@ -3,11 +3,14 @@ FROM $DUNE_ENV_IMAGE
LABEL maintainer="lriedel@iup.uni-heidelberg.de"
# number of cores for parallel builds
ARG PROCNUM=1
# Compilers to be used
ARG CC=gcc
ARG CXX=g++
WORKDIR /opt/dune
ADD . /opt/dune/dorie/
RUN MAKE_FLAGS="-j ${PROCNUM}" \
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" \
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" \
./dune-common/bin/dunecontrol --only=dorie all \
&& ./dune-common/bin/dunecontrol --only=dorie exec \
"rm build-cmake/dune/dorie/impl/libdorie-impl.a build-cmake/dune/dorie/impl/CMakeFiles/dorie-impl.dir/*.cc.o"
......
......@@ -3,10 +3,13 @@ FROM $DUNE_ENV_IMAGE
LABEL maintainer="lriedel@iup.uni-heidelberg.de"
# number of cores for parallel builds
ARG PROCNUM=1
# Compilers to be used
ARG CC=gcc
ARG CXX=g++
RUN apt-get clean && apt-get update && apt-get upgrade -y && apt-get clean
WORKDIR /opt/dune
RUN ./dune-common/bin/dunecontrol update
RUN MAKE_FLAGS="-j ${PROCNUM}" \
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" \
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" \
./dune-common/bin/dunecontrol all
\ No newline at end of file
......@@ -2,8 +2,12 @@ FROM ubuntu:bionic
LABEL maintainer="lriedel@iup.uni-heidelberg.de"
# number of cores for parallel builds
ARG PROCNUM=1
# Compilers to be used
ARG CC=gcc
ARG CXX=g++
RUN apt-get clean && apt-get update && apt-get install -y \
clang \
cmake \
doxygen \
gcc \
......@@ -45,5 +49,5 @@ RUN git clone https://gitlab.dune-project.org/staging/dune-uggrid.git -b release
WORKDIR /opt/dune
RUN MAKE_FLAGS="-j ${PROCNUM}" \
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" \
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" \
./dune-common/bin/dunecontrol all
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment