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

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