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:
parent
a0677ea6a5
commit
8466a5ff08
2 changed files with 27 additions and 23 deletions
45
.github/workflows/ci.yml
vendored
45
.github/workflows/ci.yml
vendored
|
|
@ -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
|
|
||||||
|
|
|
||||||
5
.github/workflows/m1_ci.yml
vendored
5
.github/workflows/m1_ci.yml
vendored
|
|
@ -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
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue