name: PR on: pull_request jobs: build: name: ${{ matrix.flavor.name }} / ${{ matrix.build.os_name }} (${{ matrix.build.compiler_name }}) runs-on: ${{ matrix.build.os }} strategy: fail-fast: false matrix: build: - os_name: Ubuntu Latest compiler_name: GCC os: ubuntu-latest build_type: Debug test_path: StormTest cc: gcc cxx: g++ - os_name: macOS Latest compiler_name: Clang os: macos-latest build_type: Debug test_path: StormTest cc: clang cxx: clang++ - os_name: Windows Latest compiler_name: MSVC os: windows-latest build_type: Debug test_path: Debug/StormTest cc: cl cxx: cl flavor: - name: WoW define: WOW - name: SC1 define: SC1 steps: - uses: actions/checkout@v3 with: submodules: true - name: Install Dependencies (Ubuntu) run: sudo apt install -y lcov if: matrix.build.os_name == 'Ubuntu Latest' - name: Prepare run: mkdir build - name: Configure run: cd build && cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build.build_type }} -DWHOA_STORM_FLAVOR=${{ matrix.flavor.define}} - name: Build run: cmake --build build --config ${{ matrix.build.build_type }} - name: Test run: ./build/test/${{ matrix.build.test_path }}