From 5e0ee32854397cfe2a0531d7c7bff90ce953a8cb Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Thu, 25 Mar 2021 14:38:53 +0900 Subject: [PATCH] ci: trying to add macos to github actions [skip travis] [skip appveyor] it is already listed in travis CI, but not in the GH actions --- .github/workflows/main.yml | 229 ++++++++++++++++++++----------------- 1 file changed, 127 insertions(+), 102 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 452569c..4e36ed9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,19 +3,94 @@ name: build on: [push, pull_request] jobs: - build-linux-gcc: - runs-on: Ubuntu-18.04 +# build-linux-gcc: +# runs-on: Ubuntu-18.04 +# strategy: +# matrix: +# # g++-4.8 and 4.9 are tested on Travis.CI. +# compiler: ['g++-9', 'g++-8', 'g++-7', 'g++-6', 'g++-5'] +# standard: ['11', '14', '17', '20'] +# exclude: +# - {compiler: 'g++-5', standard: '17'} +# - {compiler: 'g++-6', standard: '17'} +# - {compiler: 'g++-5', standard: '20'} +# - {compiler: 'g++-6', standard: '20'} +# - {compiler: 'g++-7', standard: '20'} +# steps: +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# submodules: true +# - name: Install +# run: | +# sudo apt-add-repository ppa:mhier/libboost-latest +# sudo apt-get update +# sudo apt-get install boost1.70 +# if [[ "${{ matrix.compiler }}" == "g++-6" || "${{ matrix.compiler }}" == "g++-5" ]] ; then +# sudo apt-add-repository ppa:ubuntu-toolchain-r/test +# sudo apt-get update +# sudo apt-get install ${{ matrix.compiler }} +# fi +# - 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 +# else +# cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} +# fi +# - name: Build +# run: | +# cd build && cmake --build . +# - name: Test +# run: | +# cd build && ctest --output-on-failure +# build-linux-clang: +# runs-on: Ubuntu-18.04 +# strategy: +# matrix: +# compiler: ['10', '9', '8', '7', '6.0', '5.0', '4.0', '3.9'] +# standard: ['11', '14', '17', '20'] +# exclude: +# - {compiler: '3.9', standard: '17'} +# - {compiler: '4.0', standard: '17'} +# - {compiler: '5.0', standard: '17'} +# - {compiler: '3.9', standard: '20'} +# - {compiler: '4.0', standard: '20'} +# - {compiler: '5.0', standard: '20'} +# - {compiler: '6.0', standard: '20'} +# - {compiler: '7', standard: '20'} +# steps: +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# submodules: true +# - name: Install +# run: | +# sudo apt-add-repository ppa:mhier/libboost-latest +# sudo apt-get update +# sudo apt-get install boost1.70 +# if [[ "${{ matrix.compiler }}" != "6" && "${{ matrix.compiler }}" != "8" && "${{ matrix.compiler }}" != "9" ]] ; then +# sudo apt-add-repository ppa:ubuntu-toolchain-r/test +# sudo apt-get update +# sudo apt-get install clang-${{ matrix.compiler }} +# fi +# - 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 }} +# - name: Build +# run: | +# cd build && cmake --build . +# - name: Test +# run: | +# cd build && ctest --output-on-failure + + build-osx: + runs-on: macos-10.15 strategy: matrix: - # g++-4.8 and 4.9 are tested on Travis.CI. - compiler: ['g++-9', 'g++-8', 'g++-7', 'g++-6', 'g++-5'] standard: ['11', '14', '17', '20'] - exclude: - - {compiler: 'g++-5', standard: '17'} - - {compiler: 'g++-6', standard: '17'} - - {compiler: 'g++-5', standard: '20'} - - {compiler: 'g++-6', standard: '20'} - - {compiler: 'g++-7', standard: '20'} steps: - name: Checkout uses: actions/checkout@v2 @@ -23,104 +98,54 @@ jobs: submodules: true - name: Install run: | - sudo apt-add-repository ppa:mhier/libboost-latest - sudo apt-get update - sudo apt-get install boost1.70 - if [[ "${{ matrix.compiler }}" == "g++-6" || "${{ matrix.compiler }}" == "g++-5" ]] ; then - sudo apt-add-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install ${{ matrix.compiler }} - fi + brew install boost - 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 - else - cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} - fi + cmake .. -Dtoml11_BUILD_TEST=ON -DCMAKE_CXX_STANDARD=${{ matrix.standard }} - name: Build run: | cd build && cmake --build . - name: Test run: | cd build && ctest --output-on-failure - build-linux-clang: - runs-on: Ubuntu-18.04 - strategy: - matrix: - compiler: ['10', '9', '8', '7', '6.0', '5.0', '4.0', '3.9'] - standard: ['11', '14', '17', '20'] - exclude: - - {compiler: '3.9', standard: '17'} - - {compiler: '4.0', standard: '17'} - - {compiler: '5.0', standard: '17'} - - {compiler: '3.9', standard: '20'} - - {compiler: '4.0', standard: '20'} - - {compiler: '5.0', standard: '20'} - - {compiler: '6.0', standard: '20'} - - {compiler: '7', standard: '20'} - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - submodules: true - - name: Install - run: | - sudo apt-add-repository ppa:mhier/libboost-latest - sudo apt-get update - sudo apt-get install boost1.70 - if [[ "${{ matrix.compiler }}" != "6" && "${{ matrix.compiler }}" != "8" && "${{ matrix.compiler }}" != "9" ]] ; then - sudo apt-add-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install clang-${{ matrix.compiler }} - fi - - 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 }} - - name: Build - run: | - cd build && cmake --build . - - name: Test - run: | - cd build && ctest --output-on-failure - build-windows-msvc: - runs-on: windows-2019 - strategy: - matrix: - standard: ['11', '14', '17', '20'] - config: ['Release', 'Debug'] - steps: - - name: Checkout - uses: actions/checkout@v2 - 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" - - name: Build - working-directory: ./build - run: | - cmake --build . --config "${{ matrix.config }}" - - name: Test - working-directory: ./build - run: | - ./tests/test_literals --log_level=all - 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-2019 +# strategy: +# matrix: +# standard: ['11', '14', '17', '20'] +# config: ['Release', 'Debug'] +# steps: +# - name: Checkout +# uses: actions/checkout@v2 +# 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" +# - name: Build +# working-directory: ./build +# run: | +# cmake --build . --config "${{ matrix.config }}" +# - name: Test +# working-directory: ./build +# run: | +# ./tests/test_literals --log_level=all +# 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