mach/.github/workflows/ci.yml
Stephen Gutekanst a0507bc278 CI: test wasm32-freestanding separately
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-10-15 01:09:43 -07:00

94 lines
3.9 KiB
YAML

name: CI
on:
- push
- pull_request
jobs:
x86_64-linux:
runs-on: ubuntu-latest
# 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
env:
DISPLAY: ':99.0'
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Zig
run: |
sudo apt install xz-utils libasound2-dev
sudo sh -c 'wget -c https://ziglang.org/builds/zig-linux-x86_64-0.10.0-dev.4333+f5f28e0d2.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin'
# - name: x86_64-linux -> x86_64-linux-musl
# if: matrix.project == 'libs/freetype' || matrix.project == 'libs/glfw'
# run: zig build -Dtarget=x86_64-linux-musl
- name: x86_64-linux -> x86_64-macos
run: zig build -Dtarget=x86_64-macos.12-none
env:
AGREE: true
- name: x86_64-linux -> aarch64-macos
run: zig build -Dtarget=aarch64-macos.12-none
env:
AGREE: true
- name: x86_64-linux -> x86_64-windows
run: zig build -Dtarget=x86_64-windows-gnu
- name: compile all examples
run: zig build compile-all -Dtarget=x86_64-linux-gnu
- name: launch xvfb
run: Xvfb :99 -screen 0 1680x720x24 > /dev/null 2>&1 &
- 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
wasm32-freestanding:
runs-on: ubuntu-latest
# 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
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Zig
run: |
sudo apt install xz-utils libasound2-dev
sudo sh -c 'wget -c https://ziglang.org/builds/zig-linux-x86_64-0.10.0-dev.4333+f5f28e0d2.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin'
- name: compile all examples
run: zig build compile-all -Dtarget=wasm32-freestanding-none
x86_64-windows:
runs-on: windows-latest
# 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
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Git
run: choco install git
- name: Setup Zig
run: |
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri 'https://ziglang.org/builds/zig-windows-x86_64-0.10.0-dev.4333+f5f28e0d2.zip' -OutFile 'C:\zig.zip'
cd C:\
7z x zig.zip
Add-Content $env:GITHUB_PATH 'C:\zig-windows-x86_64-0.10.0-dev.4333+f5f28e0d2\'
- name: compile all examples
run: zig build compile-all
- name: test
run: zig build test
x86_64-macos:
runs-on: macos-12
# 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
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Zig
run: |
brew uninstall --ignore-dependencies libx11 # https://github.com/ziglang/zig/issues/11066
brew install xz
sudo sh -c 'wget -c https://ziglang.org/builds/zig-macos-x86_64-0.10.0-dev.4333+f5f28e0d2.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin'
- name: test
run: zig build test
env:
AGREE: true