CI: add build matrix for projects (#46)

* CI: add build matrix for projects

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2021-10-24 18:32:57 -07:00 committed by GitHub
parent a0677ea6a5
commit 8466a5ff08
Failed to generate hash of commit
2 changed files with 27 additions and 23 deletions

View file

@ -5,6 +5,9 @@ on:
jobs: jobs:
x86_64-linux: x86_64-linux:
runs-on: ubuntu-latest 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 # 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. # to the branch.
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository 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 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' 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 - 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: env:
AGREE: true AGREE: true
- name: x86_64-linux -> aarch64-macos - name: x86_64-linux -> aarch64-macos
run: zig build test -Dtarget=aarch64-macos run: cd ${{ matrix.project }} && zig build test -Dtarget=aarch64-macos
env: env:
AGREE: true AGREE: true
- name: x86_64-linux -> x86_64-windows - 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 - name: launch xvfb
run: Xvfb :99 -screen 0 1680x720x24 > /dev/null 2>&1 & run: Xvfb :99 -screen 0 1680x720x24 > /dev/null 2>&1 &
- name: mach::test - name: test
run: | run: |
sudo add-apt-repository -y ppa:kisak/kisak-mesa sudo add-apt-repository -y ppa:kisak/kisak-mesa
sudo apt-get update sudo apt-get update
sudo apt-get install mesa-utils mesa-utils-extra mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers xvfb sudo apt-get install mesa-utils mesa-utils-extra mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers xvfb
zig build test cd ${{ matrix.project }} && zig build test
- name: webgpu::test
run: cd webgpu && zig build test
x86_64-windows: x86_64-windows:
runs-on: windows-latest 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 # 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. # to the branch.
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
@ -54,21 +58,22 @@ jobs:
7z x zig.zip 7z x zig.zip
Add-Content $env:GITHUB_PATH "C:\zig-windows-x86_64-0.9.0-dev.959+f011f1393\" Add-Content $env:GITHUB_PATH "C:\zig-windows-x86_64-0.9.0-dev.959+f011f1393\"
- name: x86_64-windows -> x86_64-macos - 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: env:
AGREE: true AGREE: true
- name: x86_64-windows -> aarch64-macos - name: x86_64-windows -> aarch64-macos
run: zig build test -Dtarget=aarch64-macos run: cd ${{ matrix.project }} && zig build test -Dtarget=aarch64-macos
env: env:
AGREE: true AGREE: true
- name: x86_64-windows -> x86_64-linux - name: x86_64-windows -> x86_64-linux
run: zig build test -Dtarget=x86_64-linux run: cd ${{ matrix.project }} && zig build test -Dtarget=x86_64-linux
- name: mach::test - name: test
run: zig build test run: cd ${{ matrix.project }} && zig build test
- name: webgpu::test
run: cd webgpu && zig build test
x86_64-macos: x86_64-macos:
runs-on: macos-latest 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 # 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. # to the branch.
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
@ -79,17 +84,15 @@ jobs:
run: | run: |
brew install xz 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' 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 - name: test
run: zig build test run: cd ${{ matrix.project }} && zig build test
env: env:
AGREE: true AGREE: true
- name: x86_64-macos -> aarch64-macos - name: x86_64-macos -> aarch64-macos
run: zig build test -Dtarget=aarch64-macos run: cd ${{ matrix.project }} && zig build test -Dtarget=aarch64-macos
env: env:
AGREE: true AGREE: true
- name: x86_64-macos -> x86_64-windows - 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 - name: x86_64-macos -> x86_64-linux
run: zig build test -Dtarget=x86_64-linux run: cd ${{ matrix.project }} && zig build test -Dtarget=x86_64-linux
- name: webgpu::test
run: cd webgpu && zig build test

View file

@ -10,6 +10,9 @@ on:
jobs: jobs:
aarch64-macos: aarch64-macos:
runs-on: [self-hosted, macOS, ARM64] runs-on: [self-hosted, macOS, ARM64]
strategy:
matrix:
project: ['.', 'glfw']
defaults: defaults:
run: run:
shell: "/usr/bin/arch -arch arm64e /bin/bash --noprofile --norc -eo pipefail {0}" 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 run: zig build test -Dtarget=x86_64-windows
- name: aarch64-macos -> x86_64-linux - name: aarch64-macos -> x86_64-linux
run: zig build test -Dtarget=x86_64-linux run: zig build test -Dtarget=x86_64-linux
- name: webgpu::test
run: cd webgpu && zig build test