Commit 00a2eac3 authored by Johannes Lenzen's avatar Johannes Lenzen Committed by Jan Möbius

Changed the .gitlab-ci.yml structure

Beginned with new building system
.gitlab-ci.yml can now be generated by the script assemble-gitlab-ci.py.

Therefore the .gitlab-ci.yml configuration file can be split into several smaller files
parent 8a65c81b
#############################################################
# #
# This is an auto generated file. Do not make #
# changes to this file. They possible will be overriden. #
# #
# To make persistent changes changes files in #
# ./CI/gitlab-ci/ ... #
# and regenerate this file with the configuration tool #
# #
#############################################################
stages:
- build
- test
- deploy
gcc-c++11:
variables:
GIT_SUBMODULE_STRATEGY: recursive
# -----------------
# Linux tasks
# -----------------
cppcheck:
stage: build
script: "CI/ci-linux.sh gcc C++11"
tags:
- Linux
- stretch
script: "CI/ci-cppcheck.sh"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
artifacts:
paths:
- cppcheck.log
clang-c++11:
gcc-c++11-test-debug:
stage: test
script: "CI/ci-linux-test.sh gcc C++11 debug"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
gcc-c++11-test-release:
stage: test
script: "CI/ci-linux-test.sh gcc C++11 release"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
gcc-c++11-build-debug:
stage: build
script: "CI/ci-linux.sh clang C++11"
tags:
- Linux
- stretch
script: "CI/ci-linux-build.sh gcc C++11 debug"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
artifacts:
paths:
- build-debug-gcc-cpp11-Vector-Checks/
gcc-c++14:
gcc-c++11-build-release:
stage: build
script: "CI/ci-linux.sh gcc C++14"
script: "CI/ci-linux-build.sh gcc C++11 release"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
artifacts:
paths:
- build-release-gcc-cpp11-Vector-Checks/
clang-c++11-test-debug:
stage: test
script: "CI/ci-linux-test.sh clang C++11 debug"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
clang-c++11-test-release:
stage: test
script: "CI/ci-linux-test.sh clang C++11 release"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
clang-c++11-build-debug:
stage: build
script: "CI/ci-linux-build.sh clang C++11 debug"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
artifacts:
paths:
- build-debug-clang-cpp11-Vector-Checks/
clang-c++11-build-release:
stage: build
script: "CI/ci-linux-build.sh clang C++11 release"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
artifacts:
paths:
- build-release-clang-cpp11-Vector-Checks/
gcc-c++14-test-debug:
stage: test
script: "CI/ci-linux-test.sh gcc C++14 debug"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
gcc-c++14-test-release:
stage: test
script: "CI/ci-linux-test.sh gcc C++14 release"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
gcc-c++14-build-debug:
stage: build
script: "CI/ci-linux-build.sh gcc C++14 debug"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
artifacts:
paths:
- build-debug-gcc-cpp14-Vector-Checks/
gcc-c++14-build-release:
stage: build
script: "CI/ci-linux-build.sh gcc C++14 release"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
artifacts:
paths:
- build-release-gcc-cpp14-Vector-Checks/
clang-c++14-test-debug:
stage: test
script: "CI/ci-linux-test.sh clang C++14 debug"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
clang-c++14-test-release:
stage: test
script: "CI/ci-linux-test.sh clang C++14 release"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
clang-c++14-build-debug:
stage: build
script: "CI/ci-linux-build.sh clang C++14 debug"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
artifacts:
paths:
- build-debug-clang-cpp14-Vector-Checks/
clang-c++14-build-release:
stage: build
script: "CI/ci-linux-build.sh clang C++14 release"
image: graphics.rwth-aachen.de:4567/moebius/docker/docker-openmesh-container
tags: [Docker]
artifacts:
paths:
- build-release-clang-cpp14-Vector-Checks/
# -----------------
# Apple tasks
# -----------------
macos-cpp11-debug:
stage: build
script: "CI/ci-mac-build.sh C++11 debug ; CI/ci-mac-test.sh C++11 debug"
tags:
- Linux
- stretch
- Apple
clang-c++14:
macos-cpp14-debug:
stage: build
script: "CI/ci-linux.sh clang C++14"
tags:
- Linux
- stretch
script: "CI/ci-mac-build.sh C++14 debug ; CI/ci-mac-test.sh C++14 debug"
tags:
- Apple
macos-cpp11:
macos-cpp11-release:
stage: build
script: "CI/ci-mac.sh C++11"
script: "CI/ci-mac-build.sh C++11 release ; CI/ci-mac-test.sh C++11 release"
tags:
- Apple
artifacts:
......@@ -40,9 +177,9 @@ macos-cpp11:
- build-release-cpp11/*.dmg
- build-release-cpp11/*.tar.gz
macos-cpp14:
macos-cpp14-release:
stage: build
script: "CI/ci-mac.sh C++14"
script: "CI/ci-mac-build.sh C++14 release ; CI/ci-mac-test.sh C++14 release"
tags:
- Apple
artifacts:
......@@ -50,16 +187,10 @@ macos-cpp14:
- build-release-cpp14/*.dmg
- build-release-cpp14/*.tar.gz
cppcheck:
stage: build
script: "CI/ci-cppcheck.sh"
tags:
- Linux
- stretch
artifacts:
paths:
- cppcheck.log
# -----------------
# Windows tasks
# -----------------
VS2017-64-bit-shared-apps:
stage: build
variables:
......@@ -262,7 +393,7 @@ VS2015-32-bit-static-no-apps:
artifacts:
paths:
- build-release/*.exe
Doc-publish:
stage: deploy
only:
......@@ -286,3 +417,4 @@ Sources:
- OpenMesh*.tar.bz2
- OpenMesh*.tar.gz
......@@ -3,6 +3,8 @@
# Exit script on any error
set -e
CPU_COUNT=$(grep -c processor /proc/cpuinfo)
#=====================================
# Color Settings:
#=====================================
......
#!/bin/bash
source CI/ci-linux-prepare.sh
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Basic configuration details:"
echo "======================================================================"
echo -e "${NC}"
echo "Compiler: $COMPILER"
echo "Options: $OPTIONS"
echo "Language: $LANGUAGE"
echo "Make Options: $OPTIONS"
echo "BuildPath: $BUILDPATH"
echo "Path: $PATH"
echo "Language: $LANGUAGE"
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Building $BUILD_TYPE version with vectorchecks enabled"
echo "======================================================================"
echo -e "${NC}"
if [ ! -d build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks ]; then
mkdir build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks
fi
cd build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks
cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
#build it
make $MAKE_OPTIONS
cd ..
\ No newline at end of file
#!/bin/bash
COMPILER=$1
LANGUAGE=$2
BUILD_TYPE=$3
# Exit script on any error
set -e
OPTIONS=""
MAKE_OPTIONS=""
BUILDPATH=""
# set GTEST path
OPTIONS="-DGTEST_ROOT=/usr/src/gtest/"
if [ "$COMPILER" == "gcc" ]; then
echo "Building with GCC";
BUILDPATH="gcc"
# without icecc: no options required
OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc"
MAKE_OPTIONS="-j16"
export ICECC_CXX=/usr/bin/g++ ; export ICECC_CC=/usr/bin/gcc
elif [ "$COMPILER" == "clang" ]; then
OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang"
echo "Building with CLANG";
BUILDPATH="clang"
fi
if [ "$LANGUAGE" == "C++98" ]; then
echo "Building with C++98";
BUILDPATH="$BUILDPATH-cpp98"
elif [ "$LANGUAGE" == "C++11" ]; then
echo "Building with C++11";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++11' "
BUILDPATH="$BUILDPATH-cpp11"
elif [ "$LANGUAGE" == "C++14" ]; then
echo "Building with C++14";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++14' "
BUILDPATH="$BUILDPATH-cpp14"
fi
#=====================================
# Color Settings:
#=====================================
NC='\033[0m'
OUTPUT='\033[0;32m'
WARNING='\033[0;93m'
if [ "$BUILD_TYPE" == "release" ]; then
export BUILD_TYPE=Release
export BUILD_TYPE_L=release
else
export BUILD_TYPE=Debug
export BUILD_TYPE_L=debug
fi
\ No newline at end of file
#!/bin/bash
COMPILER=$1
LANGUAGE=$2
# Exit script on any error
set -e
OPTIONS=""
MAKE_OPTIONS=""
BUILDPATH=""
# set GTEST path
OPTIONS="-DGTEST_ROOT=~/sw/gtest-1.8.0/"
if [ "$COMPILER" == "gcc" ]; then
echo "Building with GCC";
BUILDPATH="gcc"
# without icecc: no options required
OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++ -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc"
MAKE_OPTIONS="-j16"
export ICECC_CXX=/usr/bin/g++ ; export ICECC_CC=/usr/bin/gcc
elif [ "$COMPILER" == "clang" ]; then
OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang"
echo "Building with CLANG";
BUILDPATH="clang"
fi
if [ "$LANGUAGE" == "C++98" ]; then
echo "Building with C++98";
BUILDPATH="$BUILDPATH-cpp98"
elif [ "$LANGUAGE" == "C++11" ]; then
echo "Building with C++11";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++11' "
BUILDPATH="$BUILDPATH-cpp11"
elif [ "$LANGUAGE" == "C++14" ]; then
echo "Building with C++14";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++14' "
BUILDPATH="$BUILDPATH-cpp14"
fi
#=====================================
# Color Settings:
#=====================================
NC='\033[0m'
OUTPUT='\033[0;32m'
WARNING='\033[0;93m'
source CI/ci-linux-prepare.sh
echo -e "${OUTPUT}"
echo ""
......@@ -68,108 +19,44 @@ echo "Language: $LANGUAGE"
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Building Release version with vectorchecks enabled"
echo "Building $BUILD_TYPE version unittests"
echo "======================================================================"
echo -e "${NC}"
if [ ! -d build-release-$BUILDPATH-Vector-Checks ]; then
mkdir build-release-$BUILDPATH-Vector-Checks
if [ ! -d build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks ]; then
mkdir build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks
fi
cd build-release-$BUILDPATH-Vector-Checks
cmake -DCMAKE_BUILD_TYPE=Release -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
#build it
make $MAKE_OPTIONS
cd build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks
#build the unit tests
make $MAKE_OPTIONS unittests
cd Unittests
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Running unittests Release version with vectorchecks enabled"
echo "Running unittests $BUILD_TYPE version with vectorchecks enabled"
echo "======================================================================"
echo -e "${NC}"
#execute tests
./unittests --gtest_color=yes --gtest_output=xml
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Running unittests Release version with custom vector type"
echo "======================================================================"
echo -e "${NC}"
#execute tests
./unittests_customvec --gtest_color=yes --gtest_output=xml
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Running unittests Release version with double vector type"
echo "======================================================================"
echo -e "${NC}"
#execute tests
./unittests_doublevec --gtest_color=yes --gtest_output=xml
cd ..
cd ..
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Building Debug version with vectorchecks enabled"
echo "======================================================================"
echo -e "${NC}"
if [ ! -d build-debug-$BUILDPATH-Vector-Checks ]; then
mkdir build-debug-$BUILDPATH-Vector-Checks
fi
cd build-debug-$BUILDPATH-Vector-Checks
cmake -DCMAKE_BUILD_TYPE=Debug -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
#build it
make $MAKE_OPTIONS
#build the unit tests
make $MAKE_OPTIONS unittests
cd Unittests
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Running unittests Debug version with vectorchecks enabled"
echo "======================================================================"
echo -e "${NC}"
#execute tests
./unittests --gtest_color=yes --gtest_output=xml
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Running unittests Debug version with custom vector type"
echo "Running unittests $BUILD_TYPE version with custom vector type"
echo "======================================================================"
echo -e "${NC}"
#execute tests
./unittests_customvec --gtest_color=yes --gtest_output=xml
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Running unittests Debug version with double vector type"
echo "Running unittests $BUILD_TYPE version with double vector type"
echo "======================================================================"
echo -e "${NC}"
......@@ -177,4 +64,4 @@ echo -e "${NC}"
./unittests_doublevec --gtest_color=yes --gtest_output=xml
cd ..
cd ..
cd ..
\ No newline at end of file
#!/bin/bash
source CI/ci-mac-prepare.sh
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Basic configuration details:"
echo "======================================================================"
echo -e "${NC}"
echo "Options: $OPTIONS"
echo "BuildPath: $BUILDPATH"
echo "Path: $PATH"
echo "Language: $LANGUAGE"
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Building $BUILD_TYPE version with vectorchecks enabled"
echo "======================================================================"
echo -e "${NC}"
if [ ! -d build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks ]; then
mkdir build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks
fi
cd build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks
cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
#build it
make
cd ..
if [ "$BUILD_TYPE_L" == "release" ]; then
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Package creation (DMG and tarball)"
echo "======================================================================"
echo -e "${NC}"
if [ ! -d build-release-$BUILDPATH ]; then
mkdir build-release-$BUILDPATH
fi
cd build-release-$BUILDPATH
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_APPS=OFF -DCPACK_BINARY_DRAGNDROP=ON $OPTIONS ../
#build it
make
make package
cd ..
fi
\ No newline at end of file
#!/bin/bash
#Exit on any error
set -e
LANGUAGE=$1
BUILD_TYPE=$2
PATH=$PATH:/opt/local/bin
export PATH
OPTIONS=""
# set GTEST path
OPTIONS="$OPTIONS -DGTEST_ROOT=~/sw/gtest-1.7.0/"
if [ "$LANGUAGE" == "C++98" ]; then
echo "Building with C++98";
BUILDPATH="cpp98"
elif [ "$LANGUAGE" == "C++11" ]; then
echo "Building with C++11";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++11' "
BUILDPATH="cpp11"
elif [ "$LANGUAGE" == "C++14" ]; then
echo "Building with C++14";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++14' "
BUILDPATH="cpp14"
fi
#=====================================
# Color Settings:
#=====================================
NC='\033[0m'
OUTPUT='\033[0;32m'
WARNING='\033[0;93m'
if [ "$BUILD_TYPE" == "release" ]; then
export BUILD_TYPE=Release
export BUILD_TYPE_L=release
else
export BUILD_TYPE=Debug
export BUILD_TYPE_L=debug
fi
#!/bin/bash
#Exit on any error
set -e
LANGUAGE=$1
PATH=$PATH:/opt/local/bin
export PATH
OPTIONS=""
# set GTEST path
OPTIONS="$OPTIONS -DGTEST_ROOT=~/sw/gtest-1.7.0/"
if [ "$LANGUAGE" == "C++98" ]; then
echo "Building with C++98";
BUILDPATH="cpp98"
elif [ "$LANGUAGE" == "C++11" ]; then
echo "Building with C++11";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++11' "
BUILDPATH="cpp11"
elif [ "$LANGUAGE" == "C++14" ]; then
echo "Building with C++14";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++14' "
BUILDPATH="cpp14"
fi
#=====================================
# Color Settings:
#=====================================
NC='\033[0m'
OUTPUT='\033[0;32m'
WARNING='\033[0;93m'
source CI/ci-mac-prepare.sh
echo -e "${OUTPUT}"
echo ""
......@@ -50,108 +16,45 @@ echo "Language: $LANGUAGE"
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Building Release version with vectorchecks enabled"
echo "Building $BUILD_TYPE version unittests"
echo "======================================================================"
echo -e "${NC}"
if [ ! -d build-release-$BUILDPATH-Vector-Checks ]; then
mkdir build-release-$BUILDPATH-Vector-Checks
if [ ! -d build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks ]; then
mkdir build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks
fi
cd build-release-$BUILDPATH-Vector-Checks
cmake -DCMAKE_BUILD_TYPE=Release -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
#build it
make
cd build-$BUILD_TYPE_L-$BUILDPATH-Vector-Checks
#build the unit tests
make unittests
cd Unittests
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Running unittests Release version with vectorchecks enabled"
echo "======================================================================"
echo -e "${NC}"
#execute tests
./unittests --gtest_color=yes --gtest_output=xml
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Running unittests Release version with minimal vector type"
echo "======================================================================"
echo -e "${NC}"
#execute tests
./unittests_customvec --gtest_color=yes --gtest_output=xml
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Running unittests Release version with double vector type"
echo "======================================================================"
echo -e "${NC}"
#execute tests
./unittests_doublevec --gtest_color=yes --gtest_output=xml
cd ..
cd ..
echo -e "${OUTPUT}"
echo ""
echo "======================================================================"
echo "Building Debug version with vectorchecks enabled"
echo "Running unittests $BUILD_TYPE version with vectorchecks enabled"
echo "======================================================================"
echo -e "${NC}"
if [ ! -d build-debug-$BUILDPATH-Vector-Checks ]; then
mkdir build-debug-$BUILDPATH-Vector-Checks
fi
cd build-debug-$BUILDPATH-Vector-Checks
cmake -DCMAKE_BUILD_TYPE=Debug -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
#build it
make
#build the unit tests
make unittests
cd Unittests
echo -e "${OUTPUT}"