Repository navigation
Migrate client from Raylib to FishGfx #1
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 and test | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| windows-client: | |
| name: Windows x64 client | |
| runs-on: windows-2025 | |
| timeout-minutes: 45 | |
| steps: | |
| - name: Check out recursive dependencies | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| submodules: recursive | |
| - name: Install .NET SDKs | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: | | |
| 9.0.x | |
| 10.0.x | |
| - name: Verify dependency pins | |
| shell: pwsh | |
| run: ./scripts/Test-SubmodulePins.ps1 | |
| - name: Show native toolchain | |
| shell: pwsh | |
| run: | | |
| dotnet --info | |
| cmake --version | |
| - name: Restore FishGfx modern solution | |
| shell: pwsh | |
| run: dotnet restore thirdparty/FishGfx/FishGfx.Modern.sln | |
| - name: Test FishGfx modern solution | |
| shell: pwsh | |
| run: >- | |
| dotnet test thirdparty/FishGfx/FishGfx.Modern.sln | |
| --configuration Release | |
| --no-restore | |
| --logger "console;verbosity=normal" | |
| - name: Restore RaylibGame | |
| shell: pwsh | |
| run: dotnet restore RaylibGame.sln -p:Platform=x64 | |
| - name: Build RaylibGame | |
| shell: pwsh | |
| run: >- | |
| dotnet build RaylibGame.sln | |
| --configuration Release | |
| --no-restore | |
| -p:Platform=x64 | |
| - name: Test portable engine suite | |
| shell: pwsh | |
| run: >- | |
| dotnet test VoxelgineEngine.Tests/VoxelgineEngine.Tests.csproj | |
| --configuration Release | |
| --framework net10.0 | |
| --logger "console;verbosity=normal" | |
| - name: Test Windows client suite | |
| shell: pwsh | |
| run: >- | |
| dotnet test UnitTest/UnitTest.csproj | |
| --configuration Release | |
| --framework net10.0-windows10.0.17763.0 | |
| -p:Platform=x64 | |
| --logger "console;verbosity=normal" | |
| - name: Test managed and native audio | |
| shell: pwsh | |
| run: >- | |
| dotnet test Voxelgine.Audio.Tests/Voxelgine.Audio.Tests.csproj | |
| --configuration Release | |
| -p:Platform=x64 | |
| --logger "console;verbosity=normal" | |
| - name: Publish Windows x64 client | |
| shell: pwsh | |
| run: >- | |
| dotnet publish Voxelgine/Voxelgine.csproj | |
| --configuration Release | |
| --framework net10.0-windows10.0.17763.0 | |
| --runtime win-x64 | |
| --self-contained false | |
| -p:Platform=x64 | |
| --output artifacts/client | |
| - name: Audit client runtime assets | |
| shell: pwsh | |
| run: >- | |
| ./scripts/Test-PublishLayout.ps1 | |
| -Kind Client | |
| -Path artifacts/client | |
| - name: Upload client publish | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Aurora-Falls-win-x64 | |
| path: artifacts/client | |
| if-no-files-found: error | |
| portable-server: | |
| name: Portable server (Linux) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Check out recursive dependencies | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| submodules: recursive | |
| - name: Install .NET 10 SDK | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '10.0.x' | |
| - name: Verify dependency pins | |
| shell: pwsh | |
| run: ./scripts/Test-SubmodulePins.ps1 | |
| - name: Publish framework-neutral server | |
| shell: pwsh | |
| run: >- | |
| dotnet publish VoxelgineServer/VoxelgineServer.csproj | |
| --configuration Release | |
| --framework net10.0 | |
| --runtime linux-x64 | |
| --self-contained false | |
| --output artifacts/server | |
| - name: Audit portable server package | |
| shell: pwsh | |
| run: >- | |
| ./scripts/Test-PublishLayout.ps1 | |
| -Kind Server | |
| -Path artifacts/server | |
| - name: Upload server publish | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Aurora-Falls-server-portable | |
| path: artifacts/server | |
| if-no-files-found: error |