Skip to content

Unit tests Linux

Unit tests Linux #281

name: Unit tests Linux
on:
push:
branches:
- develop
- master
pull_request:
schedule:
- cron: '0 0 1 * *'
jobs:
Linux:
name: Ubuntu 20.04
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
compiler: [clang++, g++, libc++]
env:
NAME: Linux-${{ matrix.compiler }}
CXX: ${{ matrix.compiler }}
steps:
- uses: actions/checkout@v2
- name: Force cmake version to older than runner's
uses: jwlawson/actions-setup-cmake@v1.12
with:
cmake-version: '3.22.2'
- name: CMake tests Linux
shell: bash
run: |
sudo apt-get remove -y libstdc++-10-dev g++-10 gcc-10 libstdc++-11-dev g++-11 gcc-11
sudo apt-get autoremove
if [ "${{ matrix.compiler }}" = "libc++" ]; then
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -;
sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main";
sudo apt update;
sudo apt install clang-11 libc++-11-dev libc++abi-11-dev libomp-11-dev;
export CMAKE_CONFIGURE_OPTIONS="-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake";
ctest -S .ci.cmake -VV -E noexcept --timeout 900 "-DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS";
else
ctest -S .ci.cmake -VV --timeout 900 "-DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS";
fi
- name: Upload Test Results
uses: actions/upload-artifact@v2
with:
name: Linux ${{ matrix.compiler }} test results
path: prebuilt/merged_junit_results.xml
publish-test-results:
name: "Publish Unit Tests Results"
needs: [Linux]
runs-on: ubuntu-latest
if: success() || failure()
steps:
- name: Download Artifacts
uses: actions/download-artifact@v2
with:
path: artifacts
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
check_name: Unit Test Results
github_token: ${{ secrets.GITHUB_TOKEN }}
files: '**/merged_junit_results.xml'