Fix syntax #25
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 Native Binaries | ||
|
Check failure on line 1 in .github/workflows/build-native.yml
|
||
| 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 | ||