Build #20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |