From f8e1a7be3b156a83ffb04f7eb4e8e35356b68242 Mon Sep 17 00:00:00 2001 From: TheVice Date: Fri, 28 Jan 2022 01:00:08 +0200 Subject: [PATCH] Add MinGW to build pipeline Also refactor the build action to use a matrix. --- .github/workflows/build.yml | 39 +++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 56419f2..0495461 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,31 +10,32 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] + build: [static, shared] + generator: ["Default Generator", "MinGW Makefiles"] + exclude: + - os: macos-latest + build: shared + - os: macos-latest + generator: "MinGW Makefiles" + - os: ubuntu-latest + generator: "MinGW Makefiles" + env: + YAML_BUILD_SHARED_LIBS: ${{ matrix.build == 'shared' && 'ON' || 'OFF' }} + CMAKE_GENERATOR: >- + ${{format(matrix.generator != 'Default Generator' && '-G "{0}"' || '', matrix.generator)}} runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - - name: Build static + - name: Get number of CPU cores + uses: SimenB/github-actions-cpu-cores@v1 + + - name: Build shell: bash run: | - mkdir -p build && cd build - cmake .. - cmake --build . --parallel 4 + cmake ${{ env.CMAKE_GENERATOR }} -S "${{ github.workspace }}" -B build -DYAML_BUILD_SHARED_LIBS=${{ env.YAML_BUILD_SHARED_LIBS }} + cd build && cmake --build . --parallel ${{ steps.cpu-cores.outputs.count }} - - name: Test static + - name: Test shell: bash run: cd build && ctest --output-on-failure - - - name: Build shared - shell: bash - run: | - rm -rf build && mkdir -p build && cd build - cmake .. -DYAML_BUILD_SHARED_LIBS=ON - cmake --build . --parallel 4 - - # tests are failing for unknown reasons - - if: matrix.os != 'macos-latest' - name: Test shared - shell: bash - run: cd build && ctest --output-on-failure - # test all ASAP