From 11abe7ebdee6f818cebf0a50ec65bc843491228f Mon Sep 17 00:00:00 2001 From: Daniel Chappuis Date: Tue, 10 Aug 2021 07:24:36 +0200 Subject: [PATCH] Working on Github Actions --- .github/workflows/build-and-test.yml | 29 +-- .travis.yml | 325 --------------------------- 2 files changed, 1 insertion(+), 353 deletions(-) delete mode 100644 .travis.yml diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 007351a1..a043f306 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -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 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3a3945ed..00000000 --- a/.travis.yml +++ /dev/null @@ -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