Verified Commit 0e9686f2 authored by Ansgar Burchardt's avatar Ansgar Burchardt
Browse files

remove source for CI images

parent 41afa12d
FROM debian:buster
MAINTAINER Ansgar.Burchardt@tu-dresden.de
RUN rm -f /etc/apt/apt.conf.d/docker-gzip-indexes \
&& rm -rf /var/lib/apt/lists/*
RUN export DEBIAN_FRONTEND=noninteractive; \
apt-get update && apt-get dist-upgrade --no-install-recommends --yes \
&& apt-get install --no-install-recommends --yes \
autoconf \
automake \
bison \
build-essential \
ca-certificates \
clang-5.0 \
cmake \
coinor-libipopt-dev \
curl \
flex \
gfortran \
git \
git-lfs \
gnuplot-nox \
libadolc-dev \
libalberta-dev \
libarpack++2-dev \
libboost-dev \
libboost-program-options-dev \
libboost-serialization-dev \
libboost-system-dev \
libgtest-dev \
libltdl-dev \
libscotchmetis-dev \
libscotchparmetis-dev \
libsuitesparse-dev \
libsuperlu-dev \
libtinyxml2-dev \
libtool \
locales-all \
mpi-default-bin \
mpi-default-dev \
ninja-build \
openssh-client \
pkg-config \
python-dev \
python-numpy \
python-vtk6 \
python3 \
python3-dev \
python3-matplotlib \
python3-mpi4py \
python3-numpy \
python3-pip \
python3-pytest \
python3-scipy \
vc-dev \
libgmp-dev \
libeigen3-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN adduser --disabled-password --home /duneci --uid 50000 duneci
USER duneci
WORKDIR /duneci
RUN mkdir -p /duneci/bin /duneci/modules
ENV DUNE_CONTROL_PATH=.:/duneci/modules
ENV PATH=/duneci/bin:$PATH
COPY opts.clang opts.gcc opts.gcc.c++17 /duneci/
COPY dune-ctest /duneci/bin/
RUN ln -s dune-ctest /duneci/bin/duneci-ctest
COPY duneci-install-module /duneci/bin/
COPY duneci-standard-test /duneci/bin/
CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=/usr/bin/clang++-5.0 -DCMAKE_C_COMPILER=/usr/bin/clang-5.0 -DCXX_MAX_STANDARD=17 -DCMAKE_CXX_FLAGS='-O2 -g -Wall -fcolor-diagnostics -ftemplate-backtrace-limit=0' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}} -DCMAKE_INSTALL_PREFIX=/duneci/install"
CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_FLAGS='-O2 -g -Wall -fdiagnostics-color=always' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}} -DCMAKE_INSTALL_PREFIX=/duneci/install"
CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc -DCXX_MAX_STANDARD=17 -DCMAKE_CXX_FLAGS='-O2 -g -Wall -fdiagnostics-color=always' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}} -DCMAKE_INSTALL_PREFIX=/duneci/install"
FROM ubuntu:16.04
MAINTAINER Ansgar.Burchardt@tu-dresden.de
RUN rm -f /etc/apt/apt.conf.d/docker-gzip-indexes \
&& rm -rf /var/lib/apt/lists/*
RUN export DEBIAN_FRONTEND=noninteractive; \
apt-get update && apt-get dist-upgrade --no-install-recommends --yes \
&& apt-get install --no-install-recommends --yes \
autoconf \
automake \
bison \
build-essential \
ca-certificates \
clang \
cmake \
coinor-libipopt-dev \
curl \
flex \
gfortran \
git \
gnuplot-nox \
libadolc-dev \
libalberta-dev \
libarpack++2-dev \
libboost-dev \
libboost-program-options-dev \
libboost-serialization-dev \
libboost-system-dev \
libgtest-dev \
libltdl-dev \
libscotchmetis-dev \
libsuitesparse-dev \
libsuperlu-dev \
libtinyxml2-dev \
libtool \
locales-all \
mpi-default-bin \
mpi-default-dev \
ninja-build \
openssh-client \
pkg-config \
python-dev \
python-numpy \
python-vtk6 \
python3 \
python3-dev \
python3-matplotlib \
python3-mpi4py \
python3-numpy \
python3-pip \
python3-pytest \
python3-scipy \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN adduser --disabled-password --home /duneci --uid 50000 duneci
USER duneci
WORKDIR /duneci
RUN mkdir -p /duneci/bin /duneci/modules
ENV DUNE_CONTROL_PATH=.:/duneci/modules
ENV PATH=/duneci/bin:$PATH
COPY opts.clang opts.gcc /duneci/
COPY dune-ctest /duneci/bin/
RUN ln -s dune-ctest /duneci/bin/duneci-ctest
COPY duneci-install-module /duneci/bin/
COPY duneci-standard-test /duneci/bin/
CMAKE_FLAGS="-DCMAKE_CXX_COMPILER='/usr/bin/clang++' -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_FLAGS='-O2 -g -Wall -fcolor-diagnostics -ftemplate-backtrace-limit=0' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}}"
CMAKE_FLAGS="-DCMAKE_CXX_FLAGS='-O2 -g -Wall -fdiagnostics-color=always' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}}"
FROM ubuntu:18.04
MAINTAINER Ansgar.Burchardt@tu-dresden.de
RUN rm -f /etc/apt/apt.conf.d/docker-gzip-indexes \
&& rm -rf /var/lib/apt/lists/*
RUN export DEBIAN_FRONTEND=noninteractive; \
apt-get update && apt-get dist-upgrade --no-install-recommends --yes \
&& apt-get install --no-install-recommends --yes \
autoconf \
automake \
bison \
build-essential \
ca-certificates \
clang \
cmake \
coinor-libipopt-dev \
curl \
flex \
gfortran \
git \
git-lfs \
gnuplot-nox \
libadolc-dev \
libalberta-dev \
libarpack++2-dev \
libboost-dev \
libboost-program-options-dev \
libboost-serialization-dev \
libboost-system-dev \
libgtest-dev \
libltdl-dev \
libscotchmetis-dev \
libscotchparmetis-dev \
libsuitesparse-dev \
libsuperlu-dev \
libtinyxml2-dev \
libtool \
locales-all \
mpi-default-bin \
mpi-default-dev \
ninja-build \
openssh-client \
pkg-config \
python-dev \
python-numpy \
python-vtk6 \
python3 \
python3-dev \
python3-matplotlib \
python3-mpi4py \
python3-numpy \
python3-pip \
python3-pytest \
python3-scipy \
vc-dev \
libgmp-dev \
libeigen3-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN adduser --disabled-password --home /duneci --uid 50000 duneci
USER duneci
WORKDIR /duneci
RUN mkdir -p /duneci/bin /duneci/modules
ENV DUNE_CONTROL_PATH=.:/duneci/modules
ENV PATH=/duneci/bin:$PATH
COPY opts.clang opts.gcc opts.gcc.c++17 /duneci/
COPY dune-ctest /duneci/bin/
RUN ln -s dune-ctest /duneci/bin/duneci-ctest
COPY duneci-install-module /duneci/bin/
COPY duneci-standard-test /duneci/bin/
CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C_COMPILER=/usr/bin/clang -DCXX_MAX_STANDARD=17 -DCMAKE_CXX_FLAGS='-O2 -g -Wall -fcolor-diagnostics -ftemplate-backtrace-limit=0' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}} -DCMAKE_INSTALL_PREFIX=/duneci/install"
CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_FLAGS='-O2 -g -Wall -fdiagnostics-color=always' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}} -DCMAKE_INSTALL_PREFIX=/duneci/install"
CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc -DCXX_MAX_STANDARD=17 -DCMAKE_CXX_FLAGS='-O2 -g -Wall -fdiagnostics-color=always' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}} -DCMAKE_INSTALL_PREFIX=/duneci/install"
FROM duneci/base:8
MAINTAINER Ansgar.Burchardt@tu-dresden.de
USER root
RUN echo "deb http://httpredir.debian.org/debian jessie-backports main contrib non-free" > /etc/apt/sources.list.d/jessie-backports.list
RUN export DEBIAN_FRONTEND=noninteractive; \
apt-get update && apt-get install --no-install-recommends --yes \
clang-3.8 \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
USER duneci
COPY opts.clang /duneci/
CMAKE_FLAGS="-DCMAKE_CXX_COMPILER='/usr/bin/clang++-3.8' -DCMAKE_C_COMPILER=/usr/bin/clang-3.8 -DCMAKE_CXX_FLAGS='-O2 -g -Wall -fcolor-diagnostics -ftemplate-backtrace-limit=0' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}}"
FROM debian:8
MAINTAINER Ansgar.Burchardt@tu-dresden.de
RUN rm -f /etc/apt/apt.conf.d/docker-gzip-indexes \
&& rm -rf /var/lib/apt/lists/*
RUN export DEBIAN_FRONTEND=noninteractive; \
apt-get update && apt-get dist-upgrade --no-install-recommends --yes \
&& apt-get install --no-install-recommends --yes \
autoconf \
automake \
bison \
build-essential \
ca-certificates \
clang \
cmake \
coinor-libipopt-dev \
curl \
flex \
gfortran \
git \
gnuplot-nox \
libadolc-dev \
libalberta-dev \
libarpack++2-dev \
libboost-dev \
libboost-program-options-dev \
libboost-serialization-dev \
libboost-system-dev \
libgtest-dev \
libltdl-dev \
libscotchmetis-dev \
libsuitesparse-dev \
libsuperlu-dev \
libtinyxml2-dev \
libtool \
locales-all \
mpi-default-bin \
mpi-default-dev \
ninja-build \
openssh-client \
pkg-config \
python-dev \
python-numpy \
python-vtk6 \
python3 \
python3-dev \
python3-matplotlib \
python3-mpi4py \
python3-numpy \
python3-pip \
python3-pytest \
python3-scipy \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN adduser --disabled-password --home /duneci --uid 50000 duneci
USER duneci
WORKDIR /duneci
RUN mkdir -p /duneci/bin /duneci/modules
ENV DUNE_CONTROL_PATH=.:/duneci/modules
ENV PATH=/duneci/bin:$PATH
COPY opts.clang opts.gcc /duneci/
COPY dune-ctest /duneci/bin/
RUN ln -s dune-ctest /duneci/bin/duneci-ctest
COPY duneci-install-module /duneci/bin/
COPY duneci-standard-test /duneci/bin/
CMAKE_FLAGS="-DCMAKE_CXX_COMPILER='/usr/bin/clang++' -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_FLAGS='-O2 -Wall -ftemplate-backtrace-limit=0' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}}"
CMAKE_FLAGS="-DCMAKE_CXX_FLAGS='-O2 -g -Wall' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}}"
FROM debian:stretch
MAINTAINER Ansgar.Burchardt@tu-dresden.de
RUN rm -f /etc/apt/apt.conf.d/docker-gzip-indexes \
&& rm -rf /var/lib/apt/lists/*
RUN export DEBIAN_FRONTEND=noninteractive; \
apt-get update && apt-get dist-upgrade --no-install-recommends --yes \
&& apt-get install --no-install-recommends --yes \
autoconf \
automake \
bison \
build-essential \
ca-certificates \
clang \
cmake \
coinor-libipopt-dev \
curl \
flex \
gfortran \
git \
gnuplot-nox \
libadolc-dev \
libalberta-dev \
libarpack++2-dev \
libboost-dev \
libboost-program-options-dev \
libboost-serialization-dev \
libboost-system-dev \
libgtest-dev \
libltdl-dev \
libscotchmetis-dev \
libscotchparmetis-dev \
libsuitesparse-dev \
libsuperlu-dev \
libtinyxml2-dev \
libtool \
locales-all \
mpi-default-bin \
mpi-default-dev \
ninja-build \
openssh-client \
pkg-config \
python-dev \
python-numpy \
python-vtk6 \
python3 \
python3-dev \
python3-matplotlib \
python3-mpi4py \
python3-numpy \
python3-pip \
python3-pytest \
python3-scipy \
libgmp-dev \
libeigen3-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN adduser --disabled-password --home /duneci --uid 50000 duneci
USER duneci
WORKDIR /duneci
RUN mkdir -p /duneci/bin /duneci/modules
ENV DUNE_CONTROL_PATH=.:/duneci/modules
ENV PATH=/duneci/bin:$PATH
COPY opts.clang opts.gcc /duneci/
COPY dune-ctest /duneci/bin/
RUN ln -s dune-ctest /duneci/bin/duneci-ctest
COPY duneci-install-module /duneci/bin/
COPY duneci-standard-test /duneci/bin/
CMAKE_FLAGS="-DCMAKE_CXX_COMPILER='/usr/bin/clang++' -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_FLAGS='-O2 -g -Wall -fcolor-diagnostics -ftemplate-backtrace-limit=0' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}}"
CMAKE_FLAGS="-DCMAKE_CXX_FLAGS='-O2 -g -Wall -fdiagnostics-color=always' ${DUNECI_PARALLEL:+-DDUNE_MAX_TEST_CORES=${DUNECI_PARALLEL}}"
#! /usr/bin/env python3
#
# Wrapper around CTest for DUNE
#
# CTest returns with an error status not only when tests failed, but also
# when tests were only skipped. This wrapper checks the log and returns
# successfully if no tests failed; skipped tests do not result in an error.
# This behaviour is needed in a continuous integration environment, when
# building binary packages or in other cases where the testsuite should be
# run automatically.
#
# Author: Ansgar Burchardt <Ansgar.Burchardt@tu-dresden.de>
import errno
import glob
import os.path
import shutil
import subprocess
import sys
import xml.etree.ElementTree
def printTest(test):
status = test.get("Status")
name = test.find("Name").text
fullName = test.find("FullName").text
output = test.find("Results").find("Measurement").find("Value").text
print("======================================================================")
print("Name: {}".format(name))
print("FullName: {}".format(fullName))
print("Status: {}".format(status.upper()))
if output:
print("Output:")
for line in output.splitlines():
print(" ", line)
print()
def handleTest(test):
status = test.get("Status")
name = test.find("Path").text
if status == "passed":
passed = True
elif status == "notrun":
printTest(test)
passed = True
else:
printTest(test)
passed = False
return passed
def findCTestOutput():
files = glob.glob("Testing/*/Test.xml")
if len(files) != 1:
fn = files.join(", ")
raise Exception("Found multiple CTest output files: {}".format(files.join(", ")))
return files[0]
def handleCTestOutput():
path = findCTestOutput()
with open(path, "r", encoding="latin-1") as fh:
tree = xml.etree.ElementTree.parse(fh)
root = tree.getroot()
testing = root.find("Testing")
passed = True
for test in testing.findall("Test"):
testPassed = handleTest(test)
passed = passed and testPassed
return passed
def runCTest(argv=[]):
cmd = ["ctest",
"--output-on-failure",
"--dashboard", "ExperimentalTest",
"--no-compress-output",
]
cmd.extend(argv)
subprocess.call(cmd)
def checkDirectory():
if not os.path.exists("CMakeCache.txt"):
raise Exception("ERROR: dune-ctest must be run in a cmake build directory")
def removeCTestOutput():
try:
shutil.rmtree("Testing")
except OSError as e:
if e.errno != errno.ENOENT:
raise
def main():
try:
checkDirectory()
removeCTestOutput()
runCTest(argv=sys.argv[1:])
passed = handleCTestOutput()
status = 0 if passed else 1
sys.exit(status)
except Exception as e:
print("Internal error: {}".format(e))
sys.exit(127)
if __name__ == "__main__":
main()
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