Commit 75d12c2b authored by Timo Koch's avatar Timo Koch
Browse files

Update Dockerfiles

parent d13aa7af
......@@ -16,6 +16,7 @@ RUN apt-get update && apt-get dist-upgrade --no-install-recommends --yes && \
pkg-config \
wget \
build-essential \
clang-3.8 \
gfortran \
cmake \
mpi-default-dev \
......@@ -50,8 +51,10 @@ RUN ./bin/pip install 'buildbot-worker==0.9.0b9'
# The files in worker get configured by environmental variables at runtime
# Build this image in the same folder as the worker folder
ADD worker /data/buildbot/worker
ADD opts /data/opts
USER root
RUN chown -R buildbot:buildbot /data/buildbot/worker
RUN chown -R buildbot:buildbot /data/buildbot/worker && \
chown -R buildbot:buildbot /data/opts
USER buildbot
# create source directory
......
......@@ -16,6 +16,7 @@ RUN apt-get update && apt-get dist-upgrade --no-install-recommends --yes && \
pkg-config \
wget \
build-essential \
clang-3.8 \
gfortran \
cmake \
mpi-default-dev \
......@@ -49,8 +50,10 @@ RUN ./bin/pip install 'buildbot-worker==0.9.0b9'
# The files in worker get configured by environmental variables at runtime
# Build this image in the same folder as the worker folder
ADD worker /data/buildbot/worker
ADD opts /data/opts
USER root
RUN chown -R buildbot:buildbot /data/buildbot/worker
RUN chown -R buildbot:buildbot /data/buildbot/worker && \
chown -R buildbot:buildbot /data/opts
USER buildbot
# create source directory
......
# A latent buildbot worker with ubuntu
# for testing merge requests for dumux-lecture
# the core modules / dune dependencies are release 2.5
FROM ubuntu:xenial
MAINTAINER timokoch <timo.koch@iws.uni-stuttgart.de>
# get the package list
RUN apt-get update && apt-get dist-upgrade --no-install-recommends --yes && \
apt-get install --no-install-recommends --yes \
ca-certificates \
vim \
python-dev \
python-pip \
libffi-dev \
git \
pkg-config \
wget \
build-essential \
clang-3.8 \
gfortran \
cmake \
mpi-default-dev \
mpi-default-bin \
libsuitesparse-dev \
libmetis-dev \
libsuperlu-dev \
libscotchparmetis-dev \
zlib1g-dev \
libboost-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# create a buildbot user
RUN useradd --create-home --home-dir /data/ buildbot
# create system-wide symlink to dunecontrol for convenience
RUN ln -s /data/src/dune-common/bin/dunecontrol /usr/bin/dunecontrol
# install and set up a virtualenv
RUN pip install virtualenv six
# switch to buildbot user
USER buildbot
RUN virtualenv /data/buildbot
WORKDIR /data/buildbot
# install buildbot master using pip in a virtual env
RUN ./bin/pip install --upgrade pip six
RUN ./bin/pip install 'buildbot-worker==0.9.0b9'
# The files in worker get configured by environmental variables at runtime
# Build this image in the same folder as the worker folder
ADD worker /data/buildbot/worker
ADD opts /data/opts
USER root
RUN chown -R buildbot:buildbot /data/buildbot/worker && \
chown -R buildbot:buildbot /data/opts
USER buildbot
# create source directory
RUN mkdir -p /data/src
WORKDIR /data/src/
RUN git clone -b releases/2.4 https://gitlab.dune-project.org/core/dune-common.git && \
git clone -b releases/2.4 https://gitlab.dune-project.org/core/dune-geometry.git && \
git clone -b releases/2.4 https://gitlab.dune-project.org/core/dune-grid.git && \
git clone -b releases/2.4 https://gitlab.dune-project.org/core/dune-istl.git && \
git clone -b releases/2.4 https://gitlab.dune-project.org/core/dune-localfunctions.git && \
git clone -b releases/2.4 https://gitlab.dune-project.org/extensions/dune-alugrid.git && \
git clone -b releases/2.0 git://github.com/smuething/dune-multidomain.git && \
git clone -b releases/2.3 git://github.com/smuething/dune-multidomaingrid.git && \
git clone -b releases/2.0 https://gitlab.dune-project.org/pdelab/dune-pdelab.git && \
git clone -b releases/2.3 https://gitlab.dune-project.org/staging/dune-typetree.git && \
git clone -b releases/2.10 https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git && \
./dumux/bin/installexternal.sh gstat
# start worker
WORKDIR /data/buildbot/
CMD ["./bin/buildbot-worker", "start", "--nodaemon", "worker"]
......@@ -16,6 +16,7 @@ RUN apt-get update && apt-get dist-upgrade --no-install-recommends --yes && \
pkg-config \
wget \
build-essential \
clang-3.8 \
gfortran \
cmake \
mpi-default-dev \
......@@ -49,8 +50,10 @@ RUN ./bin/pip install 'buildbot-worker==0.9.0b9'
# The files in worker get configured by environmental variables at runtime
# Build this image in the same folder as the worker folder
ADD worker /data/buildbot/worker
ADD opts /data/opts
USER root
RUN chown -R buildbot:buildbot /data/buildbot/worker
RUN chown -R buildbot:buildbot /data/buildbot/worker && \
chown -R buildbot:buildbot /data/opts
USER buildbot
# create source directory
......
......@@ -15,6 +15,7 @@ RUN apt-get update && apt-get dist-upgrade --no-install-recommends --yes && \
git \
pkg-config \
build-essential \
clang-3.8 \
gfortran \
cmake \
mpi-default-dev \
......@@ -48,8 +49,10 @@ RUN ./bin/pip install 'buildbot-worker==0.9.0b9'
# The files in worker get configured by environmental variables at runtime
# Build this image in the same folder as the worker folder
ADD worker /data/buildbot/worker
ADD opts /data/opts
USER root
RUN chown -R buildbot:buildbot /data/buildbot/worker
RUN chown -R buildbot:buildbot /data/buildbot/worker && \
chown -R buildbot:buildbot /data/opts
USER buildbot
# create source directory
......
......@@ -15,6 +15,7 @@ RUN apt-get update && apt-get dist-upgrade --no-install-recommends --yes && \
git \
pkg-config \
build-essential \
clang-3.8 \
gfortran \
cmake \
mpi-default-dev \
......@@ -48,8 +49,10 @@ RUN ./bin/pip install 'buildbot-worker==0.9.0b9'
# The files in worker get configured by environmental variables at runtime
# Build this image in the same folder as the worker folder
ADD worker /data/buildbot/worker
ADD opts /data/opts
USER root
RUN chown -R buildbot:buildbot /data/buildbot/worker
RUN chown -R buildbot:buildbot /data/buildbot/worker && \
chown -R buildbot:buildbot /data/opts
USER buildbot
# create source directory
......
# only for me locally to build new images
# when uploading new images also pull them on the build worker
docker build -t timokoch/bb-dumux-master-pdelab:latest -f bb-dumux-master-pdelab/Dockerfile .
docker build -t timokoch/bb-dumux-release-pdelab:latest -f bb-dumux-release-pdelab/Dockerfile .
docker build -t timokoch/bb-dumux-master:latest -f bb-dumux-master/Dockerfile .
docker build -t timokoch/bb-dumux-release:latest -f bb-dumux-release/Dockerfile .
docker build -t timokoch/bb-lecture-master:latest -f bb-lecture-master/Dockerfile .
docker build -t timokoch/bb-lecture-release:latest -f bb-lecture-release/Dockerfile .
docker push timokoch/bb-dumux-master-pdelab:latest
docker push timokoch/bb-dumux-release-pdelab:latest
docker push timokoch/bb-dumux-master:latest
docker push timokoch/bb-dumux-release:latest
docker push timokoch/bb-lecture-master:latest
docker push timokoch/bb-lecture-release:latest
docker rmi timokoch/bb-dumux-master-pdelab:latest
docker rmi timokoch/bb-dumux-release-pdelab:latest
docker rmi timokoch/bb-dumux-master:latest
docker rmi timokoch/bb-dumux-release:latest
docker rmi timokoch/bb-lecture-master:latest
......
GXX_RELEASE_WARNING_OPTS=" \
-Wall \
-Wunused \
-Wmissing-include-dirs \
-Wcast-align \
-Wno-sign-compare"
GXX_RELEASE_OPTS=" \
-fdiagnostics-color=always \
-fno-strict-aliasing \
-fstrict-overflow \
-fno-finite-math-only \
-O3 \
-march=native \
-funroll-loops"
CMAKE_FLAGS="
-DCMAKE_C_COMPILER=/usr/bin/clang-3.8
-DCMAKE_CXX_COMPILER=/usr/bin/clang++-3.8
-DCMAKE_CXX_FLAGS_RELEASE='$GXX_RELEASE_OPTS $GXX_RELEASE_WARNING_OPTS'
-DCMAKE_CXX_FLAGS_DEBUG='-O0 -g -ggdb -Wall -Wextra -DNDEBUG=0 -Wno-unused-parameter -Wno-sign-compare'
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO='$GXX_RELEASE_OPTS $GXX_RELEASE_WARNING_OPTS -g -ggdb -Wall'
-DCMAKE_BUILD_TYPE=Release
-DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS:BOOL=TRUE
"
# To use ninja
#-DCMAKE_GENERATOR=Ninja
#-DCMAKE_MAKE_PROGRAM=ninja
GXX_RELEASE_WARNING_OPTS=" \
-Wall \
-Wunused \
-Wmissing-include-dirs \
-Wcast-align \
-Wno-sign-compare"
GXX_RELEASE_OPTS=" \
-fdiagnostics-color=always \
-fno-strict-aliasing \
-fstrict-overflow \
-fno-finite-math-only \
-O3 \
-march=native \
-funroll-loops"
CMAKE_FLAGS="
-DCMAKE_C_COMPILER=/usr/bin/gcc
-DCMAKE_CXX_COMPILER=/usr/bin/g++
-DCMAKE_CXX_FLAGS_RELEASE='$GXX_RELEASE_OPTS $GXX_RELEASE_WARNING_OPTS'
-DCMAKE_CXX_FLAGS_DEBUG='-O0 -g -ggdb -Wall -Wextra -DNDEBUG=0 -Wno-unused-parameter -Wno-sign-compare'
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO='$GXX_RELEASE_OPTS $GXX_RELEASE_WARNING_OPTS -g -ggdb -Wall'
-DCMAKE_BUILD_TYPE=Release
-DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS:BOOL=TRUE
"
# To use ninja
#-DCMAKE_GENERATOR=Ninja
#-DCMAKE_MAKE_PROGRAM=ninja
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