Skip to content

linux: setup with new object system #3769

linux: setup with new object system

linux: setup with new object system #3769

Workflow file for this run

name: CI
on:
push:
paths-ignore:
- "doc/**"
- "README.md"
- "**.md"
- "LICENSE**"
pull_request:
paths-ignore:
- "doc/**"
- "README.md"
- "**.md"
- "LICENSE**"
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
sudo sh -c 'wget -c https://pkg.machengine.org/zig/zig-linux-x86_64-0.14.0-dev.1911+3bf89f55c.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin'
- name: launch xvfb
run: Xvfb :99 -screen 0 1680x720x24 > /dev/null 2>&1 &
# - name: x86_64-linux -> x86_64-linux-musl
# run: zig build -Dtarget=x86_64-linux-musl
# TODO(build): currently cannot link on macOS due to a bug in the Zig linker. https://github.com/hexops/mach/issues/1276
# - name: x86_64-linux -> x86_64-macos
# run: zig build -Dtarget=x86_64-macos
# - name: x86_64-linux -> aarch64-macos
# run: zig build -Dtarget=aarch64-macos
- name: x86_64-linux -> x86_64-windows
run: zig build -Dtarget=x86_64-windows-gnu
- name: build
run: zig build
- name: test
run: zig build test
- name: test (with core deps only)
run: zig build -Dcore test
- name: test (with sysaudio deps only)
run: zig build -Dsysaudio test
- name: test (with sysgpu deps only)
run: zig build -Dsysgpu test
- name: test (specific deps only)
run: zig build -Dcore -Dsysaudio -Dsysgpu test
## TODO: use hexops/spirv-tools for spirv validation instead OR if we are using ZLS finally, just remove this commented block
## The following block throws this error, so it is disabled for now:
## https://github.com/hexops/mach/actions/runs/11223060751/job/31196848244?pr=1279#step:14:79
# - name: 'sysgpu: validate spirv code generation'
# run: |
# wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
# sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list http://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
# sudo apt update
# sudo apt install libyaml-cpp-dev vulkan-sdk spirv-tools
# - name: 'sysgpu: validate spirv output'
# run: bash ./src/sysgpu/tools/validate_spirv.sh
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: Setup Zig
run: |
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri 'https://pkg.machengine.org/zig/zig-windows-x86_64-0.14.0-dev.1911+3bf89f55c.zip' -OutFile 'C:\zig.zip'
cd C:\
7z x zig.zip
Add-Content $env:GITHUB_PATH 'C:\zig-windows-x86_64-0.14.0-dev.1911+3bf89f55c\'
- name: build
run: zig build
- 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://pkg.machengine.org/zig/zig-macos-x86_64-0.14.0-dev.1911+3bf89f55c.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin'
- name: build
run: zig build
- name: test
run: zig build test