diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 25583f3..59c1c72 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,14 +4,12 @@ on: [push, pull_request] jobs: build-linux-gcc: - runs-on: Ubuntu-20.04 + runs-on: Ubuntu-22.04 strategy: matrix: - compiler: ['g++-11', 'g++-10', 'g++-9', 'g++-8', 'g++-7'] + compiler: ['g++-12', 'g++-11', 'g++-10', 'g++-9'] standard: ['11', '14', '17', '20'] unreleased: ['ON', 'OFF'] - exclude: - - {compiler: 'g++-7', standard: '20'} steps: - name: Checkout uses: actions/checkout@v3 @@ -26,11 +24,7 @@ jobs: - name: Configure run: | mkdir build && cd build - if [[ "${{ matrix.compiler }}" == "g++-8" && ( "${{ matrix.standard }}" == "17" || "${{ matrix.standard }}" == "20" ) ]] ; then - cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_REQUIRE_FILESYSTEM_LIBRARY=ON -DTOML11_USE_UNRELEASED_TOML_FEATURES=${{ matrix.unreleased }} - else - cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_USE_UNRELEASED_TOML_FEATURES=${{ matrix.unreleased }} - fi + cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_USE_UNRELEASED_TOML_FEATURES=${{ matrix.unreleased }} - name: Build run: | cd build && cmake --build . @@ -38,17 +32,12 @@ jobs: run: | cd build && ctest --output-on-failure build-linux-clang: - runs-on: Ubuntu-20.04 + runs-on: Ubuntu-22.04 strategy: matrix: - compiler: ['12', '11', '10', '9', '8', '7', '6.0'] + compiler: ['15', '14', '13', '12', '11'] standard: ['11', '14', '17', '20'] unreleased: ['ON', 'OFF'] - exclude: - - {compiler: '6.0', standard: '20'} - - {compiler: '7', standard: '20'} - - {compiler: '8', standard: '20'} - - {compiler: '9', standard: '20'} steps: - name: Checkout uses: actions/checkout@v3 @@ -72,12 +61,14 @@ jobs: cd build && ctest --output-on-failure build-linux-old-gcc: - runs-on: Ubuntu-18.04 + runs-on: Ubuntu-20.04 strategy: matrix: - compiler: ['g++-6', 'g++-5'] - standard: ['11', '14'] + compiler: ['g++-8', 'g++-7'] + standard: ['11', '14', '17', '20'] unreleased: ['ON', 'OFF'] + exclude: + - {compiler: 'g++-7', standard: '20'} steps: - name: Checkout uses: actions/checkout@v3 @@ -93,7 +84,11 @@ jobs: - name: Configure run: | mkdir build && cd build - cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_USE_UNRELEASED_TOML_FEATURES=${{ matrix.unreleased }} + if [[ "${{ matrix.compiler }}" == "g++-8" && ( "${{ matrix.standard }}" == "17" || "${{ matrix.standard }}" == "20" ) ]] ; then + cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_REQUIRE_FILESYSTEM_LIBRARY=ON -DTOML11_USE_UNRELEASED_TOML_FEATURES=${{ matrix.unreleased }} + else + cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_USE_UNRELEASED_TOML_FEATURES=${{ matrix.unreleased }} + fi - name: Build run: | cd build && cmake --build . @@ -102,12 +97,17 @@ jobs: cd build && ctest --output-on-failure build-linux-old-clang: - runs-on: Ubuntu-18.04 + runs-on: Ubuntu-20.04 strategy: matrix: - compiler: ['5.0', '4.0', '3.9'] - standard: ['11', '14'] + compiler: ['10', '9', '8', '7', '6.0'] + standard: ['11', '14', '17', '20'] unreleased: ['ON', 'OFF'] + exclude: + - {compiler: '6.0', standard: '20'} + - {compiler: '7', standard: '20'} + - {compiler: '8', standard: '20'} + - {compiler: '9', standard: '20'} steps: - name: Checkout uses: actions/checkout@v3 @@ -131,7 +131,33 @@ jobs: run: | cd build && ctest --output-on-failure - build-osx: + build-osx-12: + runs-on: macos-12 + strategy: + matrix: + standard: ['11', '14', '17', '20'] + unreleased: ['ON', 'OFF'] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + - name: Install + run: | + brew install boost + - name: Configure + run: | + mkdir build && cd build + cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_USE_UNRELEASED_TOML_FEATURES=${{ matrix.unreleased }} + - name: Build + run: | + cd build && cmake --build . + - name: Test + run: | + cd build && ctest --output-on-failure + + + build-osx-11: runs-on: macos-11 strategy: matrix: