name: "Unit Tests" on: push: branches: [ master ] pull_request: branches: [ master ] jobs: tests: name: 🧪 Unit Tests runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write steps: - name: 🧰 Checkout uses: actions/checkout@v2 with: fetch-depth: 0 submodules: recursive - name: 📜 Restore cache uses: actions/cache@v2 with: path: | ~/.ccache key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-build-${{ hashFiles('**/CMakeLists.txt') }} restore-keys: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-build-${{ hashFiles('**/CMakeLists.txt') }} - name: ⬇️ Install dependencies run: | sudo apt update sudo bash dist/get_deps_debian.sh - name: 🛠️ Build run: | mkdir -p build cd build CC=gcc-10 CXX=g++-10 cmake \ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX="$PWD/install" \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DCMAKE_C_FLAGS="-fuse-ld=lld" \ -DCMAKE_CXX_FLAGS="-fuse-ld=lld" \ .. make -j4 unit_tests install - name: 🧪 Perform Unit Tests run: | cd build ctest