Skip to content

Migrate client from Raylib to FishGfx #1

Migrate client from Raylib to FishGfx

Migrate client from Raylib to FishGfx #1

Workflow file for this run

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