From 9b42d3997cac89faddd10013b62f50ba4c853e3b Mon Sep 17 00:00:00 2001 From: gabime Date: Sat, 2 Nov 2024 14:08:13 +0200 Subject: [PATCH] Refactor msvc ci --- .github/workflows/ci.yml | 250 ++++++++++++++++++------------------- .github/workflows/msvc.yml | 127 +++++++++++++++++++ 2 files changed, 252 insertions(+), 125 deletions(-) create mode 100644 .github/workflows/msvc.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d611452a..0098e7524 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,128 +86,128 @@ jobs: # ----------------------------------------------------------------------- # Windows build matrix # ----------------------------------------------------------------------- - build_windows: - runs-on: windows-latest - strategy: - fail-fast: true - matrix: - config: - - GENERATOR: "Visual Studio 17 2022" - BUILD_TYPE: Release - BUILD_SHARED: 'ON' - FATAL_ERRORS: 'ON' - WCHAR: 'OFF' - WCHAR_FILES: 'OFF' - BUILD_EXAMPLE: 'OFF' - USE_STD_FORMAT: 'ON' - CXX_STANDARD: 20 - - GENERATOR: "Visual Studio 17 2022" - BUILD_TYPE: Release - BUILD_SHARED: 'ON' - FATAL_ERRORS: 'ON' - WCHAR: 'ON' - WCHAR_FILES: 'ON' - BUILD_EXAMPLE: 'OFF' - USE_STD_FORMAT: 'ON' - CXX_STANDARD: 20 - - GENERATOR: "Visual Studio 17 2022" - BUILD_TYPE: Release - BUILD_SHARED: 'ON' - FATAL_ERRORS: 'ON' - WCHAR: 'OFF' - WCHAR_FILES: 'OFF' - BUILD_EXAMPLE: 'ON' - USE_STD_FORMAT: 'OFF' - CXX_STANDARD: 17 - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: CMake ${{ matrix.config.GENERATOR }} CXX=${{matrix.config.CXX_STANDARD}} WCHAR=${{matrix.config.WCHAR_FILES}} STD_FORMAT=${{matrix.config.USE_STD_FORMAT}} - shell: pwsh - run: | - mkdir build - cd build - cmake -G "${{ matrix.config.GENERATOR }}" -A x64 ` - -D CMAKE_BUILD_TYPE=${{ matrix.config.BUILD_TYPE }} ` - -D BUILD_SHARED_LIBS=${{ matrix.config.BUILD_SHARED }} ` - -D SPDLOG_WCHAR_SUPPORT=${{ matrix.config.WCHAR }} ` - -D SPDLOG_WCHAR_FILENAMES=${{ matrix.config.WCHAR_FILES }} ` - -D SPDLOG_BUILD_EXAMPLE=${{ matrix.config.BUILD_EXAMPLE }} ` - -D SPDLOG_BUILD_EXAMPLE_HO=${{ matrix.config.BUILD_EXAMPLE }} ` - -D SPDLOG_BUILD_TESTS=ON ` - -D SPDLOG_BUILD_TESTS_HO=OFF ` - -D SPDLOG_BUILD_WARNINGS=${{ matrix.config.FATAL_ERRORS }} ` - -D SPDLOG_USE_STD_FORMAT=${{ matrix.config.USE_STD_FORMAT }} ` - -D CMAKE_CXX_STANDARD=${{ matrix.config.CXX_STANDARD }} .. - - - name: Build - shell: pwsh - run: | - cd build - cmake --build . --parallel --config ${{ matrix.config.BUILD_TYPE }} - - - name: Run Tests - shell: pwsh - env: - PATH: ${{ env.PATH }};${{ github.workspace }}\build\_deps\catch2-build\src\${{ matrix.config.BUILD_TYPE }};${{ github.workspace }}\build\${{ matrix.config.BUILD_TYPE }} - run: | - build\tests\${{ matrix.config.BUILD_TYPE }}\spdlog-utests.exe - - # ----------------------------------------------------------------------- - # Windows build matrix - # ----------------------------------------------------------------------- - build_windos-2019: - runs-on: windows-2019 - strategy: - fail-fast: true - matrix: - config: - - GENERATOR: "Visual Studio 16 2019" - BUILD_TYPE: Release - BUILD_SHARED: 'ON' - FATAL_ERRORS: 'ON' - WCHAR: 'OFF' - WCHAR_FILES: 'OFF' - BUILD_EXAMPLE: 'ON' - USE_STD_FORMAT: 'OFF' - CXX_STANDARD: 17 - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: CMake ${{ matrix.config.GENERATOR }} CXX=${{matrix.config.CXX_STANDARD}} WCHAR=${{matrix.config.WCHAR_FILES}} STD_FORMAT=${{matrix.config.USE_STD_FORMAT}} - shell: pwsh - run: | - mkdir build - cd build - cmake -G "${{ matrix.config.GENERATOR }}" -A x64 ` - -D CMAKE_BUILD_TYPE=${{ matrix.config.BUILD_TYPE }} ` - -D BUILD_SHARED_LIBS=${{ matrix.config.BUILD_SHARED }} ` - -D SPDLOG_WCHAR_SUPPORT=${{ matrix.config.WCHAR }} ` - -D SPDLOG_WCHAR_FILENAMES=${{ matrix.config.WCHAR_FILES }} ` - -D SPDLOG_BUILD_EXAMPLE=${{ matrix.config.BUILD_EXAMPLE }} ` - -D SPDLOG_BUILD_EXAMPLE_HO=${{ matrix.config.BUILD_EXAMPLE }} ` - -D SPDLOG_BUILD_TESTS=ON ` - -D SPDLOG_BUILD_TESTS_HO=OFF ` - -D SPDLOG_BUILD_WARNINGS=${{ matrix.config.FATAL_ERRORS }} ` - -D SPDLOG_USE_STD_FORMAT=${{ matrix.config.USE_STD_FORMAT }} ` - -D CMAKE_CXX_STANDARD=${{ matrix.config.CXX_STANDARD }} .. - - - name: Build - shell: pwsh - run: | - cd build - cmake --build . --parallel --config ${{ matrix.config.BUILD_TYPE }} - - - name: Run Tests - shell: pwsh - env: - PATH: ${{ env.PATH }};${{ github.workspace }}\build\_deps\catch2-build\src\${{ matrix.config.BUILD_TYPE }};${{ github.workspace }}\build\${{ matrix.config.BUILD_TYPE }} - run: | - build\tests\${{ matrix.config.BUILD_TYPE }}\spdlog-utests.exe - - - +# build_windows: +# runs-on: windows-latest +# strategy: +# fail-fast: true +# matrix: +# config: +# - GENERATOR: "Visual Studio 17 2022" +# BUILD_TYPE: Release +# BUILD_SHARED: 'ON' +# FATAL_ERRORS: 'ON' +# WCHAR: 'OFF' +# WCHAR_FILES: 'OFF' +# BUILD_EXAMPLE: 'OFF' +# USE_STD_FORMAT: 'ON' +# CXX_STANDARD: 20 +# - GENERATOR: "Visual Studio 17 2022" +# BUILD_TYPE: Release +# BUILD_SHARED: 'ON' +# FATAL_ERRORS: 'ON' +# WCHAR: 'ON' +# WCHAR_FILES: 'ON' +# BUILD_EXAMPLE: 'OFF' +# USE_STD_FORMAT: 'ON' +# CXX_STANDARD: 20 +# - GENERATOR: "Visual Studio 17 2022" +# BUILD_TYPE: Release +# BUILD_SHARED: 'ON' +# FATAL_ERRORS: 'ON' +# WCHAR: 'OFF' +# WCHAR_FILES: 'OFF' +# BUILD_EXAMPLE: 'ON' +# USE_STD_FORMAT: 'OFF' +# CXX_STANDARD: 17 +# +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 +# +# - name: CMake ${{ matrix.config.GENERATOR }} CXX=${{matrix.config.CXX_STANDARD}} WCHAR=${{matrix.config.WCHAR_FILES}} STD_FORMAT=${{matrix.config.USE_STD_FORMAT}} +# shell: pwsh +# run: | +# mkdir build +# cd build +# cmake -G "${{ matrix.config.GENERATOR }}" -A x64 ` +# -D CMAKE_BUILD_TYPE=${{ matrix.config.BUILD_TYPE }} ` +# -D BUILD_SHARED_LIBS=${{ matrix.config.BUILD_SHARED }} ` +# -D SPDLOG_WCHAR_SUPPORT=${{ matrix.config.WCHAR }} ` +# -D SPDLOG_WCHAR_FILENAMES=${{ matrix.config.WCHAR_FILES }} ` +# -D SPDLOG_BUILD_EXAMPLE=${{ matrix.config.BUILD_EXAMPLE }} ` +# -D SPDLOG_BUILD_EXAMPLE_HO=${{ matrix.config.BUILD_EXAMPLE }} ` +# -D SPDLOG_BUILD_TESTS=ON ` +# -D SPDLOG_BUILD_TESTS_HO=OFF ` +# -D SPDLOG_BUILD_WARNINGS=${{ matrix.config.FATAL_ERRORS }} ` +# -D SPDLOG_USE_STD_FORMAT=${{ matrix.config.USE_STD_FORMAT }} ` +# -D CMAKE_CXX_STANDARD=${{ matrix.config.CXX_STANDARD }} .. +# +# - name: Build +# shell: pwsh +# run: | +# cd build +# cmake --build . --parallel --config ${{ matrix.config.BUILD_TYPE }} +# +# - name: Run Tests +# shell: pwsh +# env: +# PATH: ${{ env.PATH }};${{ github.workspace }}\build\_deps\catch2-build\src\${{ matrix.config.BUILD_TYPE }};${{ github.workspace }}\build\${{ matrix.config.BUILD_TYPE }} +# run: | +# build\tests\${{ matrix.config.BUILD_TYPE }}\spdlog-utests.exe +# +# # ----------------------------------------------------------------------- +# # Windows build matrix +# # ----------------------------------------------------------------------- +# build_windos-2019: +# runs-on: windows-2019 +# strategy: +# fail-fast: true +# matrix: +# config: +# - GENERATOR: "Visual Studio 16 2019" +# BUILD_TYPE: Release +# BUILD_SHARED: 'ON' +# FATAL_ERRORS: 'ON' +# WCHAR: 'OFF' +# WCHAR_FILES: 'OFF' +# BUILD_EXAMPLE: 'ON' +# USE_STD_FORMAT: 'OFF' +# CXX_STANDARD: 17 +# +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 +# +# - name: CMake ${{ matrix.config.GENERATOR }} CXX=${{matrix.config.CXX_STANDARD}} WCHAR=${{matrix.config.WCHAR_FILES}} STD_FORMAT=${{matrix.config.USE_STD_FORMAT}} +# shell: pwsh +# run: | +# mkdir build +# cd build +# cmake -G "${{ matrix.config.GENERATOR }}" -A x64 ` +# -D CMAKE_BUILD_TYPE=${{ matrix.config.BUILD_TYPE }} ` +# -D BUILD_SHARED_LIBS=${{ matrix.config.BUILD_SHARED }} ` +# -D SPDLOG_WCHAR_SUPPORT=${{ matrix.config.WCHAR }} ` +# -D SPDLOG_WCHAR_FILENAMES=${{ matrix.config.WCHAR_FILES }} ` +# -D SPDLOG_BUILD_EXAMPLE=${{ matrix.config.BUILD_EXAMPLE }} ` +# -D SPDLOG_BUILD_EXAMPLE_HO=${{ matrix.config.BUILD_EXAMPLE }} ` +# -D SPDLOG_BUILD_TESTS=ON ` +# -D SPDLOG_BUILD_TESTS_HO=OFF ` +# -D SPDLOG_BUILD_WARNINGS=${{ matrix.config.FATAL_ERRORS }} ` +# -D SPDLOG_USE_STD_FORMAT=${{ matrix.config.USE_STD_FORMAT }} ` +# -D CMAKE_CXX_STANDARD=${{ matrix.config.CXX_STANDARD }} .. +# +# - name: Build +# shell: pwsh +# run: | +# cd build +# cmake --build . --parallel --config ${{ matrix.config.BUILD_TYPE }} +# +# - name: Run Tests +# shell: pwsh +# env: +# PATH: ${{ env.PATH }};${{ github.workspace }}\build\_deps\catch2-build\src\${{ matrix.config.BUILD_TYPE }};${{ github.workspace }}\build\${{ matrix.config.BUILD_TYPE }} +# run: | +# build\tests\${{ matrix.config.BUILD_TYPE }}\spdlog-utests.exe +# +# +# diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml new file mode 100644 index 000000000..4c301a119 --- /dev/null +++ b/.github/workflows/msvc.yml @@ -0,0 +1,127 @@ +name: msvc + +on: [push, pull_request] + +jobs: + build_msvc-2022: + runs-on: windows-latest + strategy: + fail-fast: true + matrix: + config: + - GENERATOR: "Visual Studio 17 2022" + BUILD_TYPE: Release + BUILD_SHARED: 'ON' + FATAL_ERRORS: 'ON' + WCHAR: 'OFF' + WCHAR_FILES: 'OFF' + BUILD_EXAMPLE: 'OFF' + USE_STD_FORMAT: 'ON' + CXX_STANDARD: 20 + - GENERATOR: "Visual Studio 17 2022" + BUILD_TYPE: Release + BUILD_SHARED: 'ON' + FATAL_ERRORS: 'ON' + WCHAR: 'ON' + WCHAR_FILES: 'ON' + BUILD_EXAMPLE: 'OFF' + USE_STD_FORMAT: 'ON' + CXX_STANDARD: 20 + - GENERATOR: "Visual Studio 17 2022" + BUILD_TYPE: Release + BUILD_SHARED: 'ON' + FATAL_ERRORS: 'ON' + WCHAR: 'OFF' + WCHAR_FILES: 'OFF' + BUILD_EXAMPLE: 'ON' + USE_STD_FORMAT: 'OFF' + CXX_STANDARD: 17 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: CMake ${{ matrix.config.GENERATOR }} CXX=${{matrix.config.CXX_STANDARD}} WCHAR=${{matrix.config.WCHAR_FILES}} STD_FORMAT=${{matrix.config.USE_STD_FORMAT}} + shell: pwsh + run: | + mkdir build + cd build + cmake -G "${{ matrix.config.GENERATOR }}" -A x64 ` + -D CMAKE_BUILD_TYPE=${{ matrix.config.BUILD_TYPE }} ` + -D BUILD_SHARED_LIBS=${{ matrix.config.BUILD_SHARED }} ` + -D SPDLOG_WCHAR_SUPPORT=${{ matrix.config.WCHAR }} ` + -D SPDLOG_WCHAR_FILENAMES=${{ matrix.config.WCHAR_FILES }} ` + -D SPDLOG_BUILD_EXAMPLE=${{ matrix.config.BUILD_EXAMPLE }} ` + -D SPDLOG_BUILD_EXAMPLE_HO=${{ matrix.config.BUILD_EXAMPLE }} ` + -D SPDLOG_BUILD_TESTS=ON ` + -D SPDLOG_BUILD_TESTS_HO=OFF ` + -D SPDLOG_BUILD_WARNINGS=${{ matrix.config.FATAL_ERRORS }} ` + -D SPDLOG_USE_STD_FORMAT=${{ matrix.config.USE_STD_FORMAT }} ` + -D CMAKE_CXX_STANDARD=${{ matrix.config.CXX_STANDARD }} .. + + - name: Build + shell: pwsh + run: | + cd build + cmake --build . --parallel --config ${{ matrix.config.BUILD_TYPE }} + + - name: Run Tests + shell: pwsh + env: + PATH: ${{ env.PATH }};${{ github.workspace }}\build\_deps\catch2-build\src\${{ matrix.config.BUILD_TYPE }};${{ github.workspace }}\build\${{ matrix.config.BUILD_TYPE }} + run: | + build\tests\${{ matrix.config.BUILD_TYPE }}\spdlog-utests.exe + + # ----------------------------------------------------------------------- + # MSVC 2019 build matrix + # ----------------------------------------------------------------------- + build_msvc-2019: + runs-on: windows-2019 + strategy: + fail-fast: true + matrix: + config: + - GENERATOR: "Visual Studio 16 2019" + BUILD_TYPE: Release + BUILD_SHARED: 'ON' + FATAL_ERRORS: 'ON' + WCHAR: 'OFF' + WCHAR_FILES: 'OFF' + BUILD_EXAMPLE: 'ON' + USE_STD_FORMAT: 'OFF' + CXX_STANDARD: 17 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: CMake ${{ matrix.config.GENERATOR }} CXX=${{matrix.config.CXX_STANDARD}} WCHAR=${{matrix.config.WCHAR_FILES}} STD_FORMAT=${{matrix.config.USE_STD_FORMAT}} + shell: pwsh + run: | + mkdir build + cd build + cmake -G "${{ matrix.config.GENERATOR }}" -A x64 ` + -D CMAKE_BUILD_TYPE=${{ matrix.config.BUILD_TYPE }} ` + -D BUILD_SHARED_LIBS=${{ matrix.config.BUILD_SHARED }} ` + -D SPDLOG_WCHAR_SUPPORT=${{ matrix.config.WCHAR }} ` + -D SPDLOG_WCHAR_FILENAMES=${{ matrix.config.WCHAR_FILES }} ` + -D SPDLOG_BUILD_EXAMPLE=${{ matrix.config.BUILD_EXAMPLE }} ` + -D SPDLOG_BUILD_EXAMPLE_HO=${{ matrix.config.BUILD_EXAMPLE }} ` + -D SPDLOG_BUILD_TESTS=ON ` + -D SPDLOG_BUILD_TESTS_HO=OFF ` + -D SPDLOG_BUILD_WARNINGS=${{ matrix.config.FATAL_ERRORS }} ` + -D SPDLOG_USE_STD_FORMAT=${{ matrix.config.USE_STD_FORMAT }} ` + -D CMAKE_CXX_STANDARD=${{ matrix.config.CXX_STANDARD }} .. + + - name: Build + shell: pwsh + run: | + cd build + cmake --build . --parallel --config ${{ matrix.config.BUILD_TYPE }} + + - name: Run Tests + shell: pwsh + env: + PATH: ${{ env.PATH }};${{ github.workspace }}\build\_deps\catch2-build\src\${{ matrix.config.BUILD_TYPE }};${{ github.workspace }}\build\${{ matrix.config.BUILD_TYPE }} + run: | + build\tests\${{ matrix.config.BUILD_TYPE }}\spdlog-utests.exe \ No newline at end of file