name: build on: [push, pull_request] jobs: linux: timeout-minutes: 15 strategy: matrix: compiler: - pkg: g++-7 exe: g++-7 - pkg: g++-8 exe: g++-8 - pkg: g++-9 exe: g++-9 - pkg: g++-10 exe: g++-10 - pkg: clang-8 exe: clang++-8 - pkg: clang-9 exe: clang++-9 - pkg: clang-10 exe: clang++-10 - pkg: clang-11 exe: clang++-11 - pkg: clang-12 exe: clang++-12 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install compiler run: | sudo apt update sudo apt install -y ${{ matrix.compiler.pkg }} - name: Compile tests working-directory: build env: CXX: ${{ matrix.compiler.exe }} run: | cmake -DENTT_BUILD_TESTING=ON -DENTT_BUILD_LIB=ON -DENTT_BUILD_EXAMPLE=ON .. make -j4 - name: Run tests working-directory: build env: CTEST_OUTPUT_ON_FAILURE: 1 run: ctest --timeout 30 -C Debug -j4 linux-extra: timeout-minutes: 15 strategy: matrix: compiler: [g++, clang++] id_type: ["std::uint32_t", "std::uint64_t"] cxx_std: [cxx_std_17, cxx_std_20] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Compile tests working-directory: build env: CXX: ${{ matrix.compiler }} run: | cmake -DENTT_BUILD_TESTING=ON -DENTT_CXX_STD=${{ matrix.cxx_std }} -DENTT_ID_TYPE=${{ matrix.id_type }} .. make -j4 - name: Run tests working-directory: build env: CTEST_OUTPUT_ON_FAILURE: 1 run: ctest --timeout 30 -C Debug -j4 windows: timeout-minutes: 15 strategy: matrix: toolset: [default, v141, v142, clang-cl] include: - toolset: v141 toolset_option: -T"v141" - toolset: v142 toolset_option: -T"v142" - toolset: clang-cl toolset_option: -T"ClangCl" runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Compile tests working-directory: build run: | cmake -DENTT_BUILD_TESTING=ON -DENTT_BUILD_LIB=ON -DENTT_BUILD_EXAMPLE=ON ${{ matrix.toolset_option }} .. cmake --build . -j 4 - name: Run tests working-directory: build env: CTEST_OUTPUT_ON_FAILURE: 1 run: ctest --timeout 30 -C Debug -j4 windows-extra: timeout-minutes: 15 strategy: matrix: id_type: ["std::uint32_t", "std::uint64_t"] cxx_std: [cxx_std_17, cxx_std_20] runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Compile tests working-directory: build run: | cmake -DENTT_BUILD_TESTING=ON -DENTT_CXX_STD=${{ matrix.cxx_std }} -DENTT_ID_TYPE=${{ matrix.id_type }} .. cmake --build . -j 4 - name: Run tests working-directory: build env: CTEST_OUTPUT_ON_FAILURE: 1 run: ctest --timeout 30 -C Debug -j4 macos: timeout-minutes: 15 runs-on: macOS-latest steps: - uses: actions/checkout@v2 - name: Compile tests working-directory: build run: | cmake -DENTT_BUILD_TESTING=ON -DENTT_BUILD_LIB=ON -DENTT_BUILD_EXAMPLE=ON .. make -j4 - name: Run tests working-directory: build env: CTEST_OUTPUT_ON_FAILURE: 1 run: ctest --timeout 30 -C Debug -j4 macos-extra: timeout-minutes: 15 strategy: matrix: id_type: ["std::uint32_t", "std::uint64_t"] cxx_std: [cxx_std_17, cxx_std_20] runs-on: macOS-latest steps: - uses: actions/checkout@v2 - name: Compile tests working-directory: build run: | cmake -DENTT_BUILD_TESTING=ON -DENTT_CXX_STD=${{ matrix.cxx_std }} -DENTT_ID_TYPE=${{ matrix.id_type }} .. make -j4 - name: Run tests working-directory: build env: CTEST_OUTPUT_ON_FAILURE: 1 run: ctest --timeout 30 -C Debug -j4