From 183bf954042ac5d6be6d2efc0a940e576d055ce9 Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Tue, 11 Jun 2024 22:01:15 +0900 Subject: [PATCH] ci: run with debug dump while boost unit_test_framework is found, it does not compile on macos. it works with boost 84, but does not work with 85. --- .github/workflows/main.yml | 342 ++++++++++++++++++------------------- tests/CMakeLists.txt | 3 + 2 files changed, 174 insertions(+), 171 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 28a2c6a0..02715673 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,140 +3,140 @@ name: build on: [push, pull_request] jobs: - build-linux-gcc: - runs-on: Ubuntu-22.04 - strategy: - matrix: - compiler: ['g++-12', 'g++-11', 'g++-10', 'g++-9'] - standard: ['11', '14', '17', '20'] - unreleased: ['ON', 'OFF'] - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: true - - name: Install - run: | - sudo apt-add-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install libboost-test-dev - sudo apt-get install language-pack-fr # test serializer w/ locale - sudo apt-get install ${{ matrix.compiler }} - - 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 }} - - name: Build - run: | - cd build && cmake --build . - - name: Test - run: | - cd build && ctest --output-on-failure - build-linux-clang: - runs-on: Ubuntu-22.04 - strategy: - matrix: - compiler: ['15', '14', '13', '12', '11'] - standard: ['11', '14', '17', '20'] - unreleased: ['ON', 'OFF'] - exclude: - - {compiler: '14', standard: '20'} # to avoid using gcc-13 libstdc++ - - {compiler: '13', standard: '20'} # with older clang - - {compiler: '12', standard: '20'} - - {compiler: '11', standard: '20'} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: true - - name: Install - run: | - sudo apt-add-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install libboost-test-dev - sudo apt-get install language-pack-fr # test serializer w/ locale - sudo apt-get install clang-${{ matrix.compiler }} - - name: Configure - run: | - mkdir build && cd build - cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_C_COMPILER=clang-${{ matrix.compiler }} -DCMAKE_CXX_COMPILER=clang++-${{ matrix.compiler }} -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-linux-gcc: + # runs-on: Ubuntu-22.04 + # strategy: + # matrix: + # compiler: ['g++-12', 'g++-11', 'g++-10', 'g++-9'] + # standard: ['11', '14', '17', '20'] + # unreleased: ['ON', 'OFF'] + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # with: + # submodules: true + # - name: Install + # run: | + # sudo apt-add-repository ppa:ubuntu-toolchain-r/test + # sudo apt-get update + # sudo apt-get install libboost-test-dev + # sudo apt-get install language-pack-fr # test serializer w/ locale + # sudo apt-get install ${{ matrix.compiler }} + # - 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 }} + # - name: Build + # run: | + # cd build && cmake --build . + # - name: Test + # run: | + # cd build && ctest --output-on-failure + # build-linux-clang: + # runs-on: Ubuntu-22.04 + # strategy: + # matrix: + # compiler: ['15', '14', '13', '12', '11'] + # standard: ['11', '14', '17', '20'] + # unreleased: ['ON', 'OFF'] + # exclude: + # - {compiler: '14', standard: '20'} # to avoid using gcc-13 libstdc++ + # - {compiler: '13', standard: '20'} # with older clang + # - {compiler: '12', standard: '20'} + # - {compiler: '11', standard: '20'} + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # with: + # submodules: true + # - name: Install + # run: | + # sudo apt-add-repository ppa:ubuntu-toolchain-r/test + # sudo apt-get update + # sudo apt-get install libboost-test-dev + # sudo apt-get install language-pack-fr # test serializer w/ locale + # sudo apt-get install clang-${{ matrix.compiler }} + # - name: Configure + # run: | + # mkdir build && cd build + # cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_C_COMPILER=clang-${{ matrix.compiler }} -DCMAKE_CXX_COMPILER=clang++-${{ matrix.compiler }} -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-linux-old-gcc: - runs-on: Ubuntu-20.04 - strategy: - matrix: - 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@v4 - with: - submodules: true - - name: Install - run: | - sudo apt-add-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install libboost-test-dev - sudo apt-get install language-pack-fr # test serializer w/ locale - sudo apt-get install ${{ matrix.compiler }} - - 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 - - name: Build - run: | - cd build && cmake --build . - - name: Test - run: | - cd build && ctest --output-on-failure + # build-linux-old-gcc: + # runs-on: Ubuntu-20.04 + # strategy: + # matrix: + # 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@v4 + # with: + # submodules: true + # - name: Install + # run: | + # sudo apt-add-repository ppa:ubuntu-toolchain-r/test + # sudo apt-get update + # sudo apt-get install libboost-test-dev + # sudo apt-get install language-pack-fr # test serializer w/ locale + # sudo apt-get install ${{ matrix.compiler }} + # - 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 + # - name: Build + # run: | + # cd build && cmake --build . + # - name: Test + # run: | + # cd build && ctest --output-on-failure - build-linux-old-clang: - runs-on: Ubuntu-20.04 - strategy: - matrix: - 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@v4 - with: - submodules: true - - name: Install - run: | - sudo apt-add-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install libboost-test-dev - sudo apt-get install language-pack-fr # test serializer w/ locale - sudo apt-get install clang-${{ matrix.compiler }} - - name: Configure - run: | - mkdir build && cd build - cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_C_COMPILER=clang-${{ matrix.compiler }} -DCMAKE_CXX_COMPILER=clang++-${{ matrix.compiler }} -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-linux-old-clang: + # runs-on: Ubuntu-20.04 + # strategy: + # matrix: + # 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@v4 + # with: + # submodules: true + # - name: Install + # run: | + # sudo apt-add-repository ppa:ubuntu-toolchain-r/test + # sudo apt-get update + # sudo apt-get install libboost-test-dev + # sudo apt-get install language-pack-fr # test serializer w/ locale + # sudo apt-get install clang-${{ matrix.compiler }} + # - name: Configure + # run: | + # mkdir build && cd build + # cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_C_COMPILER=clang-${{ matrix.compiler }} -DCMAKE_CXX_COMPILER=clang++-${{ matrix.compiler }} -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-13-arm64: # runs-on: macos-13-arm64 @@ -215,42 +215,42 @@ jobs: run: | cd build && ctest --output-on-failure - build-windows-msvc: - runs-on: windows-2022 - strategy: - matrix: - standard: ['11', '14', '17', '20'] - config: ['Release', 'Debug'] - unreleased: ['ON', 'OFF'] - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: true - - name: Install - run: | - (New-Object System.Net.WebClient).DownloadFile("https://github.com/actions/boost-versions/releases/download/1.72.0-20200608.4/boost-1.72.0-win32-msvc14.2-x86_64.tar.gz", "$env:TEMP\\boost.tar.gz") - 7z.exe x "$env:TEMP\\boost.tar.gz" -o"$env:TEMP\\boostArchive" -y | Out-Null - 7z.exe x "$env:TEMP\\boostArchive" -o"$env:TEMP\\boost" -y | Out-Null - Push-Location -Path "$env:TEMP\\boost" - Invoke-Expression .\\setup.ps1 - - uses: ilammy/msvc-dev-cmd@v1 - - name: Configure - shell: cmd - run: | - file --mime-encoding tests/test_literals.cpp - mkdir build - cd build - cmake ../ -G "NMake Makefiles" -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DBoost_NO_BOOST_CMAKE=ON -DBOOST_ROOT="C:\\hostedtoolcache\\windows\\Boost\\1.72.0\\x86_64" -DTOML11_USE_UNRELEASED_TOML_FEATURES=${{ matrix.unreleased }} - - name: Build - working-directory: ./build - run: | - cmake --build . --config "${{ matrix.config }}" - - name: Test - working-directory: ./build - run: | - file --mime-encoding tests/toml/tests/example.toml - file --mime-encoding tests/toml/tests/fruit.toml - file --mime-encoding tests/toml/tests/hard_example.toml - file --mime-encoding tests/toml/tests/hard_example_unicode.toml - ctest --build-config "${{ matrix.config }}" --output-on-failure + # build-windows-msvc: + # runs-on: windows-2022 + # strategy: + # matrix: + # standard: ['11', '14', '17', '20'] + # config: ['Release', 'Debug'] + # unreleased: ['ON', 'OFF'] + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # with: + # submodules: true + # - name: Install + # run: | + # (New-Object System.Net.WebClient).DownloadFile("https://github.com/actions/boost-versions/releases/download/1.72.0-20200608.4/boost-1.72.0-win32-msvc14.2-x86_64.tar.gz", "$env:TEMP\\boost.tar.gz") + # 7z.exe x "$env:TEMP\\boost.tar.gz" -o"$env:TEMP\\boostArchive" -y | Out-Null + # 7z.exe x "$env:TEMP\\boostArchive" -o"$env:TEMP\\boost" -y | Out-Null + # Push-Location -Path "$env:TEMP\\boost" + # Invoke-Expression .\\setup.ps1 + # - uses: ilammy/msvc-dev-cmd@v1 + # - name: Configure + # shell: cmd + # run: | + # file --mime-encoding tests/test_literals.cpp + # mkdir build + # cd build + # cmake ../ -G "NMake Makefiles" -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DBoost_NO_BOOST_CMAKE=ON -DBOOST_ROOT="C:\\hostedtoolcache\\windows\\Boost\\1.72.0\\x86_64" -DTOML11_USE_UNRELEASED_TOML_FEATURES=${{ matrix.unreleased }} + # - name: Build + # working-directory: ./build + # run: | + # cmake --build . --config "${{ matrix.config }}" + # - name: Test + # working-directory: ./build + # run: | + # file --mime-encoding tests/toml/tests/example.toml + # file --mime-encoding tests/toml/tests/fruit.toml + # file --mime-encoding tests/toml/tests/hard_example.toml + # file --mime-encoding tests/toml/tests/hard_example_unicode.toml + # ctest --build-config "${{ matrix.config }}" --output-on-failure diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 82533595..17ee0199 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -109,6 +109,9 @@ set(PREVIOUSLY_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}") list(APPEND CMAKE_REQUIRED_INCLUDES ${Boost_INCLUDE_DIRS}) list(APPEND CMAKE_REQUIRED_LIBRARIES ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}) +message(STATUS "Boost_INCLUDE_DIRS = ${Boost_INCLUDE_DIRS}") +message(STATUS "Boost_UNIT_TEST_FRAMEWORK_LIBRARY = ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}") + check_cxx_source_compiles(" #define BOOST_TEST_MODULE \"dummy\" #undef BOOST_TEST_DYN_LINK