Skip to content

Build

Build #20

Workflow file for this run

name: Build
on:
workflow_dispatch:
workflow_call:
jobs:
build-windows:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Download Banjo toolchain
run: Invoke-WebRequest -OutFile banjo-x86_64-windows.zip https://github.com/chnoblouch/banjo-lang/releases/latest/download/banjo-x86_64-windows.zip
- name: Extract Banjo toolchain
run: Expand-Archive .\banjo-x86_64-windows.zip $ENV:USERPROFILE
- name: Add Banjo toolchain to PATH
run: echo "$ENV:USERPROFILE\banjo-x86_64-windows\bin" | Out-File -FilePath $ENV:GITHUB_PATH -Encoding utf8 -Append
- name: Build OpenXR runtime
working-directory: "${{ github.workspace }}/openxr_runtime"
run: banjo2 build
- name: Build camera capture library
working-directory: "${{ github.workspace }}/camera_capture"
run: banjo2 build
- name: Build display surface library
working-directory: "${{ github.workspace }}/display_surface"
run: banjo2 build
- name: Set up tracker venv
working-directory: "${{ github.workspace }}/tracker"
run: |
python -m venv venv
./venv/Scripts/pip install -r requirements.txt
- name: Package
run: python package.py
- name: Archive
run: 7z a aethervr-x86_64-windows.zip aethervr-x86_64-windows
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: aethervr-x86_64-windows
path: aethervr-x86_64-windows.zip
build-linux:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Download Banjo toolchain
run: curl -L -o banjo-x86_64-linux.zip https://github.com/chnoblouch/banjo-lang/releases/latest/download/banjo-x86_64-linux.zip
- name: Extract Banjo toolchain
run: unzip ./banjo-x86_64-linux.zip -d $HOME
- name: Add Banjo toolchain to PATH
run: echo "$HOME/banjo-x86_64-linux/bin" >> $GITHUB_PATH
- name: Build OpenXR runtime
working-directory: "${{ github.workspace }}/openxr_runtime"
run: banjo2 build
- name: Build camera capture library
working-directory: "${{ github.workspace }}/camera_capture"
run: banjo2 build
- name: Build display surface library
working-directory: "${{ github.workspace }}/display_surface"
run: banjo2 build
- name: Set up tracker venv
working-directory: "${{ github.workspace }}/tracker"
run: |
python -m venv venv
./venv/bin/pip install -r requirements.txt
- name: Package
run: python package.py
- name: Archive
run: zip -r aethervr-x86_64-linux.zip aethervr-x86_64-linux
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: aethervr-x86_64-linux
path: aethervr-x86_64-linux.zip
build-macos:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Download Banjo toolchain
run: curl -L -o banjo-aarch64-macos.zip https://github.com/chnoblouch/banjo-lang/releases/latest/download/banjo-aarch64-macos.zip
- name: Extract Banjo toolchain
run: unzip ./banjo-aarch64-macos.zip -d $HOME
- name: Add Banjo toolchain to PATH
run: echo "$HOME/banjo-aarch64-macos/bin" >> $GITHUB_PATH
- name: Build OpenXR runtime
working-directory: "${{ github.workspace }}/openxr_runtime"
run: banjo2 build
- name: Build camera capture library
working-directory: "${{ github.workspace }}/camera_capture"
run: banjo2 build
- name: Build display surface library
working-directory: "${{ github.workspace }}/display_surface"
run: banjo2 build
- name: Set up tracker venv
working-directory: "${{ github.workspace }}/tracker"
run: |
python -m venv venv
./venv/bin/pip install -r requirements.txt
- name: Package
run: python package.py
- name: Archive
run: zip -r aethervr-aarch64-macos.zip aethervr-aarch64-macos
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: aethervr-aarch64-macos
path: aethervr-aarch64-macos.zip