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:
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