From 8466a5ff0827f4d771fda11766ce78d417857e60 Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Sun, 24 Oct 2021 18:32:57 -0700 Subject: [PATCH] CI: add build matrix for projects (#46) * CI: add build matrix for projects Signed-off-by: Stephen Gutekanst --- .github/workflows/ci.yml | 45 ++++++++++++++++++++----------------- .github/workflows/m1_ci.yml | 5 +++-- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 063f4c9d..5453da42 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,9 @@ on: jobs: x86_64-linux: runs-on: ubuntu-latest + strategy: + matrix: + project: ['.', 'glfw'] # We want to run on external PRs, but not on our own internal PRs as they'll be run by the push # to the branch. if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository @@ -18,27 +21,28 @@ jobs: sudo apt install xz-utils sudo sh -c 'wget -c https://ziglang.org/builds/zig-linux-x86_64-0.9.0-dev.959+f011f1393.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin' - name: x86_64-linux -> x86_64-macos - run: zig build test -Dtarget=x86_64-macos + run: cd ${{ matrix.project }} && zig build test -Dtarget=x86_64-macos env: AGREE: true - name: x86_64-linux -> aarch64-macos - run: zig build test -Dtarget=aarch64-macos + run: cd ${{ matrix.project }} && zig build test -Dtarget=aarch64-macos env: AGREE: true - name: x86_64-linux -> x86_64-windows - run: zig build test -Dtarget=x86_64-windows + run: cd ${{ matrix.project }} && zig build test -Dtarget=x86_64-windows - name: launch xvfb run: Xvfb :99 -screen 0 1680x720x24 > /dev/null 2>&1 & - - name: mach::test + - name: test run: | sudo add-apt-repository -y ppa:kisak/kisak-mesa sudo apt-get update sudo apt-get install mesa-utils mesa-utils-extra mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers xvfb - zig build test - - name: webgpu::test - run: cd webgpu && zig build test + cd ${{ matrix.project }} && zig build test x86_64-windows: runs-on: windows-latest + strategy: + matrix: + project: ['.', 'glfw'] # We want to run on external PRs, but not on our own internal PRs as they'll be run by the push # to the branch. if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository @@ -54,21 +58,22 @@ jobs: 7z x zig.zip Add-Content $env:GITHUB_PATH "C:\zig-windows-x86_64-0.9.0-dev.959+f011f1393\" - name: x86_64-windows -> x86_64-macos - run: zig build test -Dtarget=x86_64-macos + run: cd ${{ matrix.project }} && zig build test -Dtarget=x86_64-macos env: AGREE: true - name: x86_64-windows -> aarch64-macos - run: zig build test -Dtarget=aarch64-macos + run: cd ${{ matrix.project }} && zig build test -Dtarget=aarch64-macos env: AGREE: true - name: x86_64-windows -> x86_64-linux - run: zig build test -Dtarget=x86_64-linux - - name: mach::test - run: zig build test - - name: webgpu::test - run: cd webgpu && zig build test + run: cd ${{ matrix.project }} && zig build test -Dtarget=x86_64-linux + - name: test + run: cd ${{ matrix.project }} && zig build test x86_64-macos: runs-on: macos-latest + strategy: + matrix: + project: ['.', 'glfw'] # We want to run on external PRs, but not on our own internal PRs as they'll be run by the push # to the branch. if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository @@ -79,17 +84,15 @@ jobs: run: | brew install xz sudo sh -c 'wget -c https://ziglang.org/builds/zig-macos-x86_64-0.9.0-dev.959+f011f1393.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin' - - name: mach::test - run: zig build test + - name: test + run: cd ${{ matrix.project }} && zig build test env: AGREE: true - name: x86_64-macos -> aarch64-macos - run: zig build test -Dtarget=aarch64-macos + run: cd ${{ matrix.project }} && zig build test -Dtarget=aarch64-macos env: AGREE: true - name: x86_64-macos -> x86_64-windows - run: zig build test -Dtarget=x86_64-windows + run: cd ${{ matrix.project }} && zig build test -Dtarget=x86_64-windows - name: x86_64-macos -> x86_64-linux - run: zig build test -Dtarget=x86_64-linux - - name: webgpu::test - run: cd webgpu && zig build test + run: cd ${{ matrix.project }} && zig build test -Dtarget=x86_64-linux diff --git a/.github/workflows/m1_ci.yml b/.github/workflows/m1_ci.yml index 5b09cd83..e9a552c4 100644 --- a/.github/workflows/m1_ci.yml +++ b/.github/workflows/m1_ci.yml @@ -10,6 +10,9 @@ on: jobs: aarch64-macos: runs-on: [self-hosted, macOS, ARM64] + strategy: + matrix: + project: ['.', 'glfw'] defaults: run: shell: "/usr/bin/arch -arch arm64e /bin/bash --noprofile --norc -eo pipefail {0}" @@ -31,5 +34,3 @@ jobs: run: zig build test -Dtarget=x86_64-windows - name: aarch64-macos -> x86_64-linux run: zig build test -Dtarget=x86_64-linux - - name: webgpu::test - run: cd webgpu && zig build test