---
name: Linux

on:
  push:
    branches:
      - master
      - develop
  pull_request:
    branches:
      - master
      - develop

env:
  CTEST_OUTPUT_ON_FAILURE: 1
  CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
  CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - uses: actions/cache@v3
        with:
          path: "**/cpm_modules"
          key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}

      - name: configure
        run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DBOOST_UT_ENABLE_RUN_AFTER_BUILD=NO --log-level=DEBUG -DFETCHCONTENT_QUIET=OFF

      - name: build
        run: cmake --build build -j4 --verbose

      - name: test
        run: |
          cd build
          ctest --build-config Debug -j4 --verbose
