Skip to content

Fix syntax

Fix syntax #25

Workflow file for this run

name: Build Native Binaries

Check failure on line 1 in .github/workflows/build-native.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/build-native.yml

Invalid workflow file

(Line: 46, Col: 9): Unrecognized named-value: 'matrix'. Located at position 21 within expression: github.event.inputs[matrix.output]
on:
workflow_dispatch:
inputs:
freetype-library:
type: boolean
required: false
default: true
harfbuzz-library:
type: boolean
required: false
default: true
tracy-exe:
type: boolean
required: false
default: true
tracy-library:
type: boolean
required: false
default: true
vma-library:
type: boolean
required: false
default: true
jobs:
build:
strategy:
fail-fast: false
matrix:
output:
- freetype-library
- harfbuzz-library
- tracy-exe
- tracy-library
- vma-library
os:
- ubuntu-24.04
- windows-2025
- macos-15
name: ${{ matrix.output }} (${{ matrix.os }})
runs-on: ${{ matrix.os }}
if: ${{ github.event.inputs[matrix.output] }}
steps:
- name: Enable long paths for Git (Windows)
if: "runner.os == 'Windows'"
run: git config --system core.longpaths true
- name: Setup dependencies (Linux)
if: "runner.os == 'Linux'"
run: |
sudo apt-get update
# harfbuzz-library
sudo apt-get install -y pkg-config ragel gtk-doc-tools gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev
# tracy-exe
sudo apt-get install -y libglfw3-dev libfreetype-dev libcapstone-dev libdbus-1-dev libtbb-dev libgtk-3-dev debuginfod libwayland-dev libxkbcommon-dev libglvnd-dev wayland-protocols
- name: Setup dependencies (Mac)
if: "runner.os == 'macOS'"
run: |
brew update
# harfbuzz-library
brew install pkg-config ragel gtk-doc freetype glib cairo
# tracy-exe
brew install glfw freetype capstone tbb
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.100"
- name: Cache .git folder
uses: actions/cache@v4
with:
path: .git
key: git-{{ hashFiles('**/.gitmodules') }}
- name: Checkout repository
uses: actions/checkout@v5.0.0
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-${{ matrix.output }}
- name: Upload artifacts
uses: actions/upload-artifact@v5
with:
name: ${{ matrix.output }}-${{ matrix.os }}
path: outputs/native
combine-outputs:
runs-on: ubuntu-latest
if: always()
needs: [build]
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