Skip to content

Build Native Binaries #3

Build Native Binaries

Build Native Binaries #3

Workflow file for this run

name: Build Native
# TODO: Use matrix strategy
# TODO: Re-enable successful jobs
on:
workflow_dispatch:
jobs:
vma-library-linux:
runs-on: ubuntu-24.04
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.100-rc.2.25502.107"
- name: Cache .git folder
uses: actions/cache@v4
with:
path: .git
key: git-{{ hashFiles('**/.gitmodules') }}
- name: Checkout repository
uses: actions/[email protected]
with:
repository: Exanite-GameDev/Exanite.GameDev
token: ${{ secrets._GITHUB_TOKEN }}
submodules: recursive
lfs: false
- name: Setup build system
run: dotnet build projects/Exanite.Engine.BuildSystem
- name: Build
run: |
dotnet run --project projects/Exanite.Engine.BuildSystem -- build-vma-library
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: vma-library-linux
path: outputs/runtimes
slang-library-linux:
runs-on: ubuntu-24.04
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.100-rc.2.25502.107"
- name: Cache .git folder
uses: actions/cache@v4
with:
path: .git
key: git-{{ hashFiles('**/.gitmodules') }}
- name: Checkout repository
uses: actions/[email protected]
with:
repository: Exanite-GameDev/Exanite.GameDev
token: ${{ secrets._GITHUB_TOKEN }}
submodules: recursive
lfs: false
- name: Setup build system
run: dotnet build projects/Exanite.Engine.BuildSystem
- name: Build
run: |
dotnet run --project projects/Exanite.Engine.BuildSystem -- build-slang-library
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: slang-library-linux
path: outputs/runtimes
tracy-library-linux:
runs-on: ubuntu-24.04
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.100-rc.2.25502.107"
- name: Cache .git folder
uses: actions/cache@v4
with:
path: .git
key: git-{{ hashFiles('**/.gitmodules') }}
- name: Checkout repository
uses: actions/[email protected]
with:
repository: Exanite-GameDev/Exanite.GameDev
token: ${{ secrets._GITHUB_TOKEN }}
submodules: recursive
lfs: false
- name: Setup build system
run: dotnet build projects/Exanite.Engine.BuildSystem
- name: Build
run: |
dotnet run --project projects/Exanite.Engine.BuildSystem -- build-tracy-library
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: tracy-library-linux
path: outputs/runtimes
vma-library-windows:
runs-on: windows-2025
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.100-rc.2.25502.107"
- name: Cache .git folder
uses: actions/cache@v4
with:
path: .git
key: git-{{ hashFiles('**/.gitmodules') }}
- name: Checkout repository
uses: actions/[email protected]
with:
repository: Exanite-GameDev/Exanite.GameDev
token: ${{ secrets._GITHUB_TOKEN }}
submodules: recursive
lfs: false
- name: Setup build system
run: dotnet build projects/Exanite.Engine.BuildSystem
- name: Build
run: |
dotnet run --project projects/Exanite.Engine.BuildSystem -- build-vma-library
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: vma-library-windows
path: outputs/runtimes
slang-library-windows:
runs-on: windows-2025
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.100-rc.2.25502.107"
- name: Cache .git folder
uses: actions/cache@v4
with:
path: .git
key: git-{{ hashFiles('**/.gitmodules') }}
- name: Checkout repository
uses: actions/[email protected]
with:
repository: Exanite-GameDev/Exanite.GameDev
token: ${{ secrets._GITHUB_TOKEN }}
submodules: recursive
lfs: false
- name: Setup build system
run: dotnet build projects/Exanite.Engine.BuildSystem
- name: Build
run: |
dotnet run --project projects/Exanite.Engine.BuildSystem -- build-slang-library
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: slang-library-windows
path: outputs/runtimes
tracy-library-windows:
runs-on: windows-2025
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.100-rc.2.25502.107"
- name: Cache .git folder
uses: actions/cache@v4
with:
path: .git
key: git-{{ hashFiles('**/.gitmodules') }}
- name: Checkout repository
uses: actions/[email protected]
with:
repository: Exanite-GameDev/Exanite.GameDev
token: ${{ secrets._GITHUB_TOKEN }}
submodules: recursive
lfs: false
- name: Setup build system
run: dotnet build projects/Exanite.Engine.BuildSystem
- name: Build
run: |
dotnet run --project projects/Exanite.Engine.BuildSystem -- build-tracy-library
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: tracy-library-windows
path: outputs/runtimes
vma-library-mac:
runs-on: macos-15
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.100-rc.2.25502.107"
- name: Cache .git folder
uses: actions/cache@v4
with:
path: .git
key: git-{{ hashFiles('**/.gitmodules') }}
- name: Checkout repository
uses: actions/[email protected]
with:
repository: Exanite-GameDev/Exanite.GameDev
token: ${{ secrets._GITHUB_TOKEN }}
submodules: recursive
lfs: false
- name: Setup build system
run: dotnet build projects/Exanite.Engine.BuildSystem
- name: Build
run: |
dotnet run --project projects/Exanite.Engine.BuildSystem -- build-vma-library
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: vma-library-mac
path: outputs/runtimes
slang-library-mac:
runs-on: macos-15
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.100-rc.2.25502.107"
- name: Cache .git folder
uses: actions/cache@v4
with:
path: .git
key: git-{{ hashFiles('**/.gitmodules') }}
- name: Checkout repository
uses: actions/[email protected]
with:
repository: Exanite-GameDev/Exanite.GameDev
token: ${{ secrets._GITHUB_TOKEN }}
submodules: recursive
lfs: false
- name: Setup build system
run: dotnet build projects/Exanite.Engine.BuildSystem
- name: Build
run: |
dotnet run --project projects/Exanite.Engine.BuildSystem -- build-slang-library
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: slang-library-mac
path: outputs/runtimes
tracy-library-mac:
runs-on: macos-15
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.100-rc.2.25502.107"
- name: Cache .git folder
uses: actions/cache@v4
with:
path: .git
key: git-{{ hashFiles('**/.gitmodules') }}
- name: Checkout repository
uses: actions/[email protected]
with:
repository: Exanite-GameDev/Exanite.GameDev
token: ${{ secrets._GITHUB_TOKEN }}
submodules: recursive
lfs: false
- name: Setup build system
run: dotnet build projects/Exanite.Engine.BuildSystem
- name: Build
run: |
dotnet run --project projects/Exanite.Engine.BuildSystem -- build-tracy-library
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: tracy-library-mac
path: outputs/runtimes
combine-outputs:
runs-on: ubuntu-latest
if: always()
needs:
- vma-library-linux
- slang-library-linux
- tracy-library-linux
- vma-library-windows
- slang-library-windows
- tracy-library-windows
- vma-library-mac
- slang-library-mac
- tracy-library-mac
steps:
- name: Download artifacts
uses: actions/download-artifact@v5
with:
path: artifacts
- name: Combine into one folder
run: |
mkdir combined
cp -r artifacts/*/* combined
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: combined
path: combined