Skip to content

Build Natives

Build Natives #11

Workflow file for this run

name: Build Natives
on:
# Manual dispatch.
workflow_dispatch:
jobs:
osx-x64:
runs-on: macos-15
steps:
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Install Deps
run: brew install ninja
- name: Bootstrap vcpkg
run: vcpkg/bootstrap-vcpkg.sh
- name: Vcpkg install
run: vcpkg/vcpkg install --triplet=x64-osx
- name: Build
run: python ./scripts/osx.py --rid osx-x64
- uses: actions/upload-artifact@v4
with:
name: osx-x64
path: artifacts
if-no-files-found: error
osx-arm64:
runs-on: macos-15
steps:
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Install Deps
run: brew install ninja
- name: Bootstrap vcpkg
run: vcpkg/bootstrap-vcpkg.sh
- name: Vcpkg install
run: vcpkg/vcpkg install --triplet=arm64-osx
- name: Build
run: python ./scripts/osx.py --rid osx-arm64
- uses: actions/upload-artifact@v4
with:
name: osx-arm64
path: artifacts
if-no-files-found: error
linux-x64:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Build server environment
run: docker build -t build-env-server -f linux-build-env-server.Containerfile .
- name: Build client environment
run: docker build -t build-env-client -f linux-build-env-client.Containerfile .
- name: Run server build
run: docker run --rm -v ${{ github.workspace }}:/work build-env-server /work/scripts/linux-server.py
- name: Run client build
run: docker run --rm -v ${{ github.workspace }}:/work build-env-client /work/scripts/linux-from-container.sh linux-x64 x64-linux
- uses: actions/upload-artifact@v4
with:
name: linux-x64
path: artifacts
if-no-files-found: error
linux-arm64:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Build server environment
run: docker build -t build-env-server -f linux-build-env-server.Containerfile .
- name: Build client environment
run: docker build -t build-env-client -f linux-build-env-client-arm64.Containerfile .
- name: Run server build
run: docker run --rm -v ${{ github.workspace }}:/work build-env-server /work/scripts/linux-server.py
- name: Run client build
run: docker run --rm -v ${{ github.workspace }}:/work build-env-client /work/scripts/linux-from-container.sh linux-arm64 arm64-linux
- uses: actions/upload-artifact@v4
with:
name: linux-arm64
path: artifacts
if-no-files-found: error
win-x64:
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Install Deps
shell: cmd
run: choco install ninja --limit-output --no-progress
- name: Bootstrap vcpkg
run: vcpkg/bootstrap-vcpkg.bat
- name: Vcpkg install
run: vcpkg/vcpkg.exe install --triplet=x64-windows
- name: Build
shell: cmd
run: |
call "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\Tools\\VsDevCmd.bat" -arch=x64 -host_arch=x64
python ./scripts/windows.py --rid=win-x64
- uses: actions/upload-artifact@v4
with:
name: win-x64
path: artifacts
if-no-files-found: error
win-arm64:
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Install Deps
shell: cmd
run: choco install ninja --limit-output --no-progress
- name: Bootstrap vcpkg
run: vcpkg/bootstrap-vcpkg.bat
- name: Vcpkg install
run: vcpkg/vcpkg.exe install --triplet=arm64-windows
- name: Build
shell: cmd
run: |
call "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\Tools\\VsDevCmd.bat" -arch=arm64 -host_arch=x64
python ./scripts/windows.py --rid=win-arm64
- uses: actions/upload-artifact@v4
with:
name: win-arm64
path: artifacts
if-no-files-found: error