From 2b2c3b74775a371d3765687525f4edc10eacb5a4 Mon Sep 17 00:00:00 2001 From: Mizux Seiha Date: Sun, 23 Jan 2022 15:10:41 +0100 Subject: [PATCH] ci: refactor linux workflows --- .github/workflows/amd64_linux.yml | 111 +++++------------------------- 1 file changed, 16 insertions(+), 95 deletions(-) diff --git a/.github/workflows/amd64_linux.yml b/.github/workflows/amd64_linux.yml index 47cddb9..09b6eac 100644 --- a/.github/workflows/amd64_linux.yml +++ b/.github/workflows/amd64_linux.yml @@ -9,8 +9,19 @@ on: jobs: # Building using the github runner environement directly. - ninja: + linux: runs-on: ubuntu-latest + strategy: + matrix: + build: [ + ["Unix Makefiles", "Release"], + ["Ninja", "Release"], + ["Ninja Multi-Config", "Release"] + ] + fail-fast: false + env: + GENERATOR: ${{ matrix.build[0] }} + BUILD_TYPE: ${{ matrix.build[1] }} steps: - uses: actions/checkout@v2 - name: Install Ninja @@ -49,100 +60,10 @@ jobs: - name: Check cmake run: cmake --version - name: Configure - run: cmake -S. -Bbuild -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install + run: cmake -S. -Bbuild -G $GENERATOR -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=install - name: Build - run: cmake --build build --target all -v + run: cmake --build build --config $BUILD_TYPE --target all -v - name: Test - run: cmake --build build --target test -v + run: cmake --build build --config $BUILD_TYPE --target test -v - name: Install - run: cmake --build build --target install -v - ninja-multi: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Install Ninja - run: | - sudo apt-get update - sudo apt-get install ninja-build - - name: Uninstall preinstalled swig3.0 - run: | - swig -version; - sudo apt remove -y swig swig3.0 - - name: Install SWIG 4.0.2 - run: | - wget "https://github.com/swig/swig/archive/refs/tags/v4.0.2.tar.gz" -O swig-4.0.2.tar.gz; - tar xvf swig-4.0.2.tar.gz; - rm swig-4.0.2.tar.gz; - cd swig-4.0.2; - ./autogen.sh; - ./configure --prefix=/usr; - make -j8; - sudo make install; - cd ..; - rm -rf swig-4.0.2; - - name: Check swig - run: swig -version - # Install .NET SDKs - - name: Setup .NET Core 3.1 - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 3.1.x - - name: Setup .NET 6.0 - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 6.0.x - - name: Check dotnet - run: dotnet --info - - name: Check cmake - run: cmake --version - - name: Configure - run: cmake -S. -Bbuild -G "Ninja Multi-Config" -DCMAKE_INSTALL_PREFIX=install - - name: Build - run: cmake --build build --config Release --target all -v - - name: Test - run: cmake --build build --config Release --target test -v - - name: Install - run: cmake --build build --config Release --target install -v - make: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Uninstall preinstalled swig3.0 - run: | - swig -version; - sudo apt remove -y swig swig3.0 - - name: Install SWIG 4.0.2 - run: | - wget "https://github.com/swig/swig/archive/refs/tags/v4.0.2.tar.gz" -O swig-4.0.2.tar.gz; - tar xvf swig-4.0.2.tar.gz; - rm swig-4.0.2.tar.gz; - cd swig-4.0.2; - ./autogen.sh; - ./configure --prefix=/usr; - make -j8; - sudo make install; - cd ..; - rm -rf swig-4.0.2; - - name: Check swig - run: swig -version - # Install .NET SDKs - - name: Setup .NET Core 3.1 - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 3.1.x - - name: Setup .NET 6.0 - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 6.0.x - - name: Check dotnet - run: dotnet --info - - name: Check cmake - run: cmake --version - - name: Configure - run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install - - name: Build - run: cmake --build build --target all -v - - name: Test - run: cmake --build build --target test -v - - name: Install - run: cmake --build build --target install -v + run: cmake --build build --config $BUILD_TYPE --target install -v