From d4252660a23f91c78e3c4c60293dfc37f0f0fc37 Mon Sep 17 00:00:00 2001 From: Corentin Le Molgat Date: Mon, 25 Oct 2021 11:38:20 +0200 Subject: [PATCH] ci(github): Add workflows --- .github/workflows/aarch64_linux.yml | 32 +++++++++++++++ .github/workflows/arm_linux.yml | 35 +++++++++++++++++ .github/workflows/mips_linux.yml | 34 ++++++++++++++++ .github/workflows/windows_x86_64.yml | 23 +++++++++++ .github/workflows/x86_darwin.yml | 39 +++++++++++++++++++ .../{freebsd.yml => x86_freebsd.yml} | 2 +- .github/workflows/x86_linux.yml | 25 ++++++++++++ 7 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/aarch64_linux.yml create mode 100644 .github/workflows/arm_linux.yml create mode 100644 .github/workflows/mips_linux.yml create mode 100644 .github/workflows/windows_x86_64.yml create mode 100644 .github/workflows/x86_darwin.yml rename .github/workflows/{freebsd.yml => x86_freebsd.yml} (96%) create mode 100644 .github/workflows/x86_linux.yml diff --git a/.github/workflows/aarch64_linux.yml b/.github/workflows/aarch64_linux.yml new file mode 100644 index 0000000..6a0d4b7 --- /dev/null +++ b/.github/workflows/aarch64_linux.yml @@ -0,0 +1,32 @@ +name: aarch64 Linux + +on: + push: + pull_request: + schedule: + # min hours day(month) month day(week) + - cron: '0 0 7,22 * *' + +jobs: + # Building using the github runner environement directly. + aarch64: + runs-on: ubuntu-latest + strategy: + matrix: + targets: [ + [aarch64-linux-gnu], + [aarch64_be-linux-gnu] + ] + fail-fast: false + env: + TARGET: ${{ matrix.targets[0] }} + steps: + - uses: actions/checkout@v2 + - name: Install Ninja + run: | + sudo apt-get update + sudo apt-get install ninja-build + - name: Build + run: ./scripts/run_integration.sh build + - name: Test + run: ./scripts/run_integration.sh test diff --git a/.github/workflows/arm_linux.yml b/.github/workflows/arm_linux.yml new file mode 100644 index 0000000..8af22e1 --- /dev/null +++ b/.github/workflows/arm_linux.yml @@ -0,0 +1,35 @@ +name: arm Linux + +on: + push: + pull_request: + schedule: + # min hours day(month) month day(week) + - cron: '0 0 7,22 * *' + +jobs: + # Building using the github runner environement directly. + arm: + runs-on: ubuntu-latest + strategy: + matrix: + targets: [ + [arm-linux-gnueabihf], + [armv8l-linux-gnueabihf], + [arm-linux-gnueabi], + [armeb-linux-gnueabihf], + [armeb-linux-gnueabi] + ] + fail-fast: false + env: + TARGET: ${{ matrix.targets[0] }} + steps: + - uses: actions/checkout@v2 + - name: Install Ninja + run: | + sudo apt-get update + sudo apt-get install ninja-build + - name: Build + run: ./scripts/run_integration.sh build + - name: Test + run: ./scripts/run_integration.sh test diff --git a/.github/workflows/mips_linux.yml b/.github/workflows/mips_linux.yml new file mode 100644 index 0000000..90263f5 --- /dev/null +++ b/.github/workflows/mips_linux.yml @@ -0,0 +1,34 @@ +name: mips Linux + +on: + push: + pull_request: + schedule: + # min hours day(month) month day(week) + - cron: '0 0 7,22 * *' + +jobs: + # Building using the github runner environement directly. + mips: + runs-on: ubuntu-latest + strategy: + matrix: + targets: [ + [mips32], + [mips32el], + [mips64], + [mips64el] + ] + fail-fast: false + env: + TARGET: ${{ matrix.targets[0] }} + steps: + - uses: actions/checkout@v2 + - name: Install Ninja + run: | + sudo apt-get update + sudo apt-get install ninja-build + - name: Build + run: ./scripts/run_integration.sh build + - name: Test + run: ./scripts/run_integration.sh test diff --git a/.github/workflows/windows_x86_64.yml b/.github/workflows/windows_x86_64.yml new file mode 100644 index 0000000..0c4f3ec --- /dev/null +++ b/.github/workflows/windows_x86_64.yml @@ -0,0 +1,23 @@ +name: x86 Windows + +on: + push: + pull_request: + schedule: + # min hours day(month) month day(week) + - cron: '0 0 7,22 * *' + +jobs: + # Building using the github runner environement directly. + msvc: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Configure + run: cmake -S. -Bbuild -G "Visual Studio 16 2019" -DCMAKE_CONFIGURATION_TYPES=Release + - name: Build + run: cmake --build build --config Release --target ALL_BUILD -- /maxcpucount + - name: Test + run: cmake --build build --config Release --target RUN_TESTS -- /maxcpucount + - name: Install + run: cmake --build build --config Release --target INSTALL -- /maxcpucount diff --git a/.github/workflows/x86_darwin.yml b/.github/workflows/x86_darwin.yml new file mode 100644 index 0000000..bfa4b72 --- /dev/null +++ b/.github/workflows/x86_darwin.yml @@ -0,0 +1,39 @@ +name: x86 Darwin + +on: + push: + pull_request: + schedule: + # min hours day(month) month day(week) + - cron: '0 0 7,22 * *' + +jobs: + # Building using the github runner environement directly. + xcode: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Check cmake + run: cmake --version + - name: Configure + run: cmake -S. -Bbuild -G "Xcode" -DCMAKE_CONFIGURATION_TYPES=Release + - name: Build + run: cmake --build build --config Release --target ALL_BUILD -v + - name: Test + run: cmake --build build --config Release --target RUN_TESTS -v + - name: Install + run: cmake --build build --config Release --target install -v + make: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Check cmake + run: cmake --version + - name: Configure + run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release + - 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 diff --git a/.github/workflows/freebsd.yml b/.github/workflows/x86_freebsd.yml similarity index 96% rename from .github/workflows/freebsd.yml rename to .github/workflows/x86_freebsd.yml index 807181d..3b1fc3b 100644 --- a/.github/workflows/freebsd.yml +++ b/.github/workflows/x86_freebsd.yml @@ -1,4 +1,4 @@ -name: FreeBSD +name: x86 FreeBSD on: push: diff --git a/.github/workflows/x86_linux.yml b/.github/workflows/x86_linux.yml new file mode 100644 index 0000000..7b345c6 --- /dev/null +++ b/.github/workflows/x86_linux.yml @@ -0,0 +1,25 @@ +name: x86 Linux + +on: + push: + pull_request: + schedule: + # min hours day(month) month day(week) + - cron: '0 0 7,22 * *' + +jobs: + # Building using the github runner environement directly. + make: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Check cmake + run: cmake --version + - name: Configure + run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release + - 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 -- DESTDIR=install