Working on Github Actions

This commit is contained in:
Daniel Chappuis 2021-08-10 07:24:36 +02:00
parent c0f9f1413d
commit 11abe7ebde
2 changed files with 1 additions and 353 deletions

View File

@ -27,7 +27,6 @@ jobs:
generators: "Ninja",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "Linux / GCC (Release, Single Precision)",
@ -38,7 +37,6 @@ jobs:
generators: "Ninja",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "Linux / GCC (Debug, Double Precision)",
@ -49,7 +47,6 @@ jobs:
generators: "Ninja",
double_precision: true,
coverage: false,
memory_leaks_test: false
}
- {
name: "Linux / GCC (Release, Double Precision)",
@ -60,7 +57,6 @@ jobs:
generators: "Ninja",
double_precision: true,
coverage: false,
memory_leaks_test: false
}
- {
name: "Linux / Clang (Debug, Single Precision)",
@ -71,7 +67,6 @@ jobs:
generators: "Ninja",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "Linux / Clang (Release, Single Precision)",
@ -82,7 +77,6 @@ jobs:
generators: "Ninja",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "Linux / Clang (Debug, Double Precision)",
@ -93,7 +87,6 @@ jobs:
generators: "Ninja",
double_precision: true,
coverage: false,
memory_leaks_test: false
}
- {
name: "Linux / Clang (Release, Double Precision)",
@ -104,7 +97,6 @@ jobs:
generators: "Ninja",
double_precision: true,
coverage: false,
memory_leaks_test: false
}
- {
name: "Windows / MSVC (Debug, Single Precision)",
@ -115,7 +107,6 @@ jobs:
generators: "Visual Studio 16 2019",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "Windows / MSVC (Release, Single Precision)",
@ -126,7 +117,6 @@ jobs:
generators: "Visual Studio 16 2019",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "Windows / MinGW (Debug, Single Precision)",
@ -137,7 +127,6 @@ jobs:
generators: "Ninja",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "Windows / MinGW (Release, Single Precision)",
@ -148,7 +137,6 @@ jobs:
generators: "Ninja",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "MacOS / Clang (Debug, Single Precision)",
@ -159,7 +147,6 @@ jobs:
generators: "Ninja",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "MacOS / Clang (Release, Single Precision)",
@ -170,7 +157,6 @@ jobs:
generators: "Ninja",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "MacOS / GCC (Debug, Single Precision)",
@ -181,18 +167,6 @@ jobs:
generators: "Ninja",
double_precision: false,
coverage: false,
memory_leaks_test: false
}
- {
name: "Memory Leaks Test - Linux / GCC (Debug, Single Precision)",
os: ubuntu-latest,
build_type: "Debug",
cc: "gcc",
cxx: "g++",
generators: "Ninja",
double_precision: false,
coverage: false,
memory_leaks_test: true
}
- {
name: "Code Coverage",
@ -203,7 +177,6 @@ jobs:
generators: "Ninja",
double_precision: false,
coverage: true,
memory_leaks_test: false
}
steps:
@ -299,7 +272,7 @@ jobs:
./build_hello_world/helloworld
- name: Memory Leaks Test
if: ${{ matrix.config.memory_leaks_test }}
if: ${{ startsWith(matrix.config.name, 'Linux / GCC (Debug, Single Precision)') }}
shell: bash
run: valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --error-exitcode=1 ./build/test/tests

View File

@ -1,325 +0,0 @@
language: cpp
install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install valgrind; fi
matrix:
include:
# ----- Windows / Visual Studio -----
- os: windows
name: "Windows / Visual Studio (Debug)"
env:
- BUILD_TYPE="Debug" DOUBLE_PRECISION="False"
# ----- Linux / GCC -----
- os: linux
name: "Linux / GCC (Debug)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- MATRIX_EVAL="CC=gcc-8.1 && CXX=g++-8.1" BUILD_TYPE="Debug" DOUBLE_PRECISION="False"
- os: linux
arch: arm64
name: "Linux / GCC / ARM (Debug)"
before_install:
- sudo apt-get remove cmake
- wget https://cmake.org/files/v3.8/cmake-3.8.2.tar.gz
- tar xf cmake-3.8.2.tar.gz
- cd cmake-3.8.2
- ./configure
- sudo make install
- cmake --version
- cd ../
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False"
- os: linux
name: "Linux / GCC (Release)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="False"
- os: linux
arch: arm64
name: "Linux / GCC / ARM (Release)"
before_install:
- sudo apt-get remove cmake
- wget https://cmake.org/files/v3.8/cmake-3.8.2.tar.gz
- tar xf cmake-3.8.2.tar.gz
- cd cmake-3.8.2
- ./configure
- sudo make install
- cmake --version
- cd ../
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="False"
- os: linux
name: "Linux / GCC (Debug, Double Precision)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="True"
- os: linux
name: "Linux / GCC (Release, Double Precision)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="True"
- os: linux
name: "Linux / GCC (Debug, Profiler)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" Profiler="True"
- os: linux
name: "Linux / GCC (Release, Profiler)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="False" Profiler="True"
- os: linux
name: "Linux / GCC (Debug, Code Coverage)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
- lcov
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" CODE_COVERAGE="True"
- os: linux
name: "Linux / GCC (Debug, Valgrind)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
- valgrind
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" VALGRIND="True"
# ----- OS X / GCC -----
- os: osx
name: "OS X / GCC (Debug)"
osx_image: xcode11
env:
- MATRIX_EVAL="brew install gcc@8 && CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False"
- os: osx
name: "OS X / GCC (Release)"
osx_image: xcode11
env:
- MATRIX_EVAL="brew install gcc@8 && CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="False"
- os: osx
name: "OS X / GCC (Debug, Double Precision)"
osx_image: xcode11
env:
- MATRIX_EVAL="brew install gcc@8 && CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="True"
- os: osx
name: "OS X / GCC (Release, Double Precision)"
osx_image: xcode11
env:
- MATRIX_EVAL="brew install gcc@8 && CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="True"
- os: osx
name: "OS X / GCC (Debug, Profiler)"
osx_image: xcode11
env:
- MATRIX_EVAL="brew install gcc@8 && CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" PROFILER="True"
- os: osx
name: "OS X / GCC (Release, Profiler)"
osx_image: xcode11
env:
- MATRIX_EVAL="brew install gcc@8 && CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="False" PROFILER="True"
# ----- Linux / Clang -----
- os: linux
name: "Linux / Clang (Debug)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False"
- os: linux
name: "Linux / Clang (Release)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Release" DOUBLE_PRECISION="False"
- os: linux
name: "Linux / Clang (Debug, Double Precision)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Debug" DOUBLE_PRECISION="True"
- os: linux
name: "Linux / Clang (Release, Double Precision)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Release" DOUBLE_PRECISION="True"
- os: linux
name: "Linux / Clang (Debug, Double Precision, Profiler)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Debug" DOUBLE_PRECISION="True" PROFILER="True"
- os: linux
name: "Linux / Clang (Release, Double Precision, Profiler)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Release" DOUBLE_PRECISION="True" PROFILER="True"
# ----- OS X / Clang -----
- os: osx
name: "OS X / Clang (Debug)"
osx_image: xcode11
env:
- BUILD_TYPE="Debug" DOUBLE_PRECISION="False"
- os: osx
name: "OS X / Clang (Release)"
osx_image: xcode11
env:
- BUILD_TYPE="Release" DOUBLE_PRECISION="False"
- os: osx
name: "OS X / Clang (Debug, Double Precision)"
osx_image: xcode11
env:
- BUILD_TYPE="Debug" DOUBLE_PRECISION="True"
- os: osx
name: "OS X / Clang (Release, Double Precision)"
osx_image: xcode11
env:
- BUILD_TYPE="Release" DOUBLE_PRECISION="True"
- os: osx
name: "OS X / Clang (Debug, Profiler)"
osx_image: xcode11
env:
- BUILD_TYPE="Debug" DOUBLE_PRECISION="False" PROFILER="True"
- os: osx
name: "OS X / Clang (Release, Profiler)"
osx_image: xcode11
env:
- BUILD_TYPE="Release" DOUBLE_PRECISION="False" PROFILER="True"
before_install:
- eval "${MATRIX_EVAL}"
branches:
only:
- master
- develop
script:
- mkdir build_rp3d
- cd build_rp3d
- cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} —DRP3D_DOUBLE_PRECISION_ENABLED=${DOUBLE_PRECISION} -DRP3D_COMPILE_TESTS=True -DRP3D_PROFILING_ENABLED=${PROFILER} -DRP3D_CODE_COVERAGE_ENABLED=${CODE_COVERAGE} ../
- cmake --build . -j2
- make test ARGS="-V"
- if [ "${VALGRIND}" == "True" ]; then
valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --error-exitcode=1 test/tests;
fi
- if [ "${CODE_COVERAGE}" == "False" ]; then
sudo cmake --install .;
cd ../;
mkdir build_helloworld;
cd build_helloworld;
cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ../helloworld/;
cmake --build . -j2;
./helloworld;
fi
after_success:
# Generate code coverage report
- if [ "${CODE_COVERAGE}" == "True" ]; then
bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports";
fi