Skip to content

FIX: Glwf not found in CI/CD #112

FIX: Glwf not found in CI/CD

FIX: Glwf not found in CI/CD #112

name: CMake Build Test
on: [push, pull_request]
jobs:
# ─── Reusable setup steps are handled via composite or just duplicated minimally ───
linux-lib:
name: Linux Lib (${{ matrix.display_server }})
runs-on: ubuntu-latest
strategy:
matrix:
display_server: [Wayland, X11]
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Setup Vulkan SDK
uses: humbletim/setup-vulkan-sdk@v1.2.1
with:
vulkan-query-version: 1.4.304.1
vulkan-components: Vulkan-Headers, Vulkan-Loader
vulkan-use-cache: true
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake
if [ "${{ matrix.display_server }}" = "Wayland" ]; then
sudo apt-get install -y libgl1-mesa-dev libwayland-dev wayland-protocols libxkbcommon-dev
else
sudo apt-get install -y xorg-dev
fi
- name: Fix libslang.so permissions
run: chmod +x dependencies/binaries/slang/lib/libslang.so
- name: Configure and Build
run: |
cmake -B build \
-DEOS_BUILD_EXAMPLES=OFF \
-DUSE_WAYLAND=${{ matrix.display_server == 'Wayland' && 'ON' || 'OFF' }} \
-DUSE_X11=${{ matrix.display_server == 'X11' && 'ON' || 'OFF' }} \
-DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel 4
linux-example-modelpbr:
name: Linux Example ModelPBR (${{ matrix.display_server }})
runs-on: ubuntu-latest
needs: linux-lib
strategy:
matrix:
display_server: [Wayland, X11]
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Setup Vulkan SDK
uses: humbletim/setup-vulkan-sdk@v1.2.1
with:
vulkan-query-version: 1.4.304.1
vulkan-components: Vulkan-Headers, Vulkan-Loader
vulkan-use-cache: true
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake
if [ "${{ matrix.display_server }}" = "Wayland" ]; then
sudo apt-get install -y libgl1-mesa-dev libwayland-dev wayland-protocols libxkbcommon-dev
else
sudo apt-get install -y xorg-dev
fi
- name: Fix libslang.so permissions
run: chmod +x dependencies/binaries/slang/lib/libslang.so
- name: Configure and Build
run: |
cmake -B build \
-DEOS_BUILD_EXAMPLES=ON \
-DUSE_WAYLAND=${{ matrix.display_server == 'Wayland' && 'ON' || 'OFF' }} \
-DUSE_X11=${{ matrix.display_server == 'X11' && 'ON' || 'OFF' }} \
-DCMAKE_BUILD_TYPE=Release
cmake --build build --target ModelPBR --config Release --parallel 4
windows-lib:
name: Windows Lib
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Setup Vulkan SDK
uses: humbletim/setup-vulkan-sdk@v1.2.1
with:
vulkan-query-version: 1.4.304.1
vulkan-components: Vulkan-Headers, Vulkan-Loader
vulkan-use-cache: true
- uses: lukka/get-cmake@latest
- name: Verify Slang library
shell: powershell
run: |
$path = "dependencies/binaries/slang/lib/slang.lib"
if (-not (Test-Path $path)) { Write-Host "ERROR: slang.lib not found!"; exit 1 }
Write-Host "slang.lib size: $((Get-Item $path).Length) bytes"
- name: Configure and Build
run: |
cmake -B build -DEOS_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel 4
windows-example-modelpbr:
name: Windows Example ModelPBR
runs-on: windows-latest
needs: windows-lib
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Setup Vulkan SDK
uses: humbletim/setup-vulkan-sdk@v1.2.1
with:
vulkan-query-version: 1.4.304.1
vulkan-components: Vulkan-Headers, Vulkan-Loader
vulkan-use-cache: true
- uses: lukka/get-cmake@latest
- name: Verify Slang library
shell: powershell
run: |
$path = "dependencies/binaries/slang/lib/slang.lib"
if (-not (Test-Path $path)) { Write-Host "ERROR: slang.lib not found!"; exit 1 }
Write-Host "slang.lib size: $((Get-Item $path).Length) bytes"
- name: Configure and Build
run: |
cmake -B build -DEOS_BUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --target ModelPBR --config Release --parallel 4