Skip to content

refac: renderer ext now uses starter ext & renamed shader variant ext… #1067

refac: renderer ext now uses starter ext & renamed shader variant ext…

refac: renderer ext now uses starter ext & renamed shader variant ext… #1067

Workflow file for this run

name: Build
on:
schedule:
- cron: '0 1 * * 1'
push:
branches:
- master
- dev
- feature/*
- dev/*
- fix/*
pull_request:
workflow_dispatch:
jobs:
Windows:
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Retrieve submodules
run: git submodule update --init --recursive
- name: Install Dependencies
run: |
Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/1.3.296.0/windows/VulkanSDK-1.3.296.0-Installer.exe" -OutFile VulkanSDK.exe
# ./VulkanSDK.exe --help
./VulkanSDK.exe --accept-licenses --default-answer --root D:/a/VulkanSDK --confirm-command install
- name: Prep 1
shell: cmd
run: |
cd scripts
python gen_build.py
python gen_distribute.py
- name: Build Pilot Light (DEBUG)
shell: cmd
run: |
set VULKAN_SDK=D:/a/VulkanSDK
cd src
call build.bat -c debug
cd ../examples
call build.bat -c debug
if not exist ../out/app.dll exit 1
if not exist ../out/pilot_light.exe exit 1
if not exist ../out/pl_platform_ext.dll exit 1
if not exist ../out/pl_script_camera.dll exit 1
if not exist ../out/pl_unity_ext.dll exit 1
if not exist ../out/example_basic_0.dll exit 1
if not exist ../out/example_basic_1.dll exit 1
if not exist ../out/example_basic_2.dll exit 1
if not exist ../out/example_basic_3.dll exit 1
if not exist ../out/example_basic_4.dll exit 1
if not exist ../out/example_gfx_0.dll exit 1
if not exist ../out/example_gfx_1.dll exit 1
if not exist ../out/example_gfx_2.dll exit 1
if not exist ../out/example_gfx_3.dll exit 1
if not exist ../out/example_gfx_4.dll exit 1
cd ..
- name: Prep 2
shell: cmd
run: |
rmdir /s /q out
- name: Build Pilot Light (DEBUG EXPERIMENTAL)
shell: cmd
run: |
set VULKAN_SDK=D:/a/VulkanSDK
cd src
call build.bat -c debug_experimental
if not exist ../out/app.dll exit 1
if not exist ../out/dearimguid.lib exit 1
if not exist ../out/editor.dll exit 1
if not exist ../out/glfwd.lib exit 1
if not exist ../out/pilot_light.exe exit 1
if not exist ../out/pl_dear_imgui_ext.dll exit 1
if not exist ../out/pl_platform_ext.dll exit 1
if not exist ../out/pl_script_camera.dll exit 1
if not exist ../out/pl_unity_ext.dll exit 1
cd ..
- name: Prep 3
shell: cmd
run: |
rmdir /s /q out
- name: Build Pilot Light (RELEASE EXPERIMENTAL)
shell: cmd
run: |
set VULKAN_SDK=D:/a/VulkanSDK
cd src
call build.bat -c release_experimental
if not exist ../out/app.dll exit 1
if not exist ../out/dearimgui.lib exit 1
if not exist ../out/editor.dll exit 1
if not exist ../out/glfw.lib exit 1
if not exist ../out/pilot_light.exe exit 1
if not exist ../out/pl_dear_imgui_ext.dll exit 1
if not exist ../out/pl_platform_ext.dll exit 1
if not exist ../out/pl_script_camera.dll exit 1
if not exist ../out/pl_unity_ext.dll exit 1
- name: Prep 4
shell: cmd
run: |
rmdir /s /q out
- name: Build Pilot Light (RELEASE)
shell: cmd
run: |
set VULKAN_SDK=D:/a/VulkanSDK
cd src
call build.bat -c release
cd ../examples
call build.bat -c release
if not exist ../out/app.dll exit 1
if not exist ../out/pilot_light.exe exit 1
if not exist ../out/pl_platform_ext.dll exit 1
if not exist ../out/pl_script_camera.dll exit 1
if not exist ../out/pl_unity_ext.dll exit 1
if not exist ../out/example_basic_0.dll exit 1
if not exist ../out/example_basic_1.dll exit 1
if not exist ../out/example_basic_2.dll exit 1
if not exist ../out/example_basic_3.dll exit 1
if not exist ../out/example_basic_4.dll exit 1
if not exist ../out/example_gfx_0.dll exit 1
if not exist ../out/example_gfx_1.dll exit 1
if not exist ../out/example_gfx_2.dll exit 1
if not exist ../out/example_gfx_3.dll exit 1
if not exist ../out/example_gfx_4.dll exit 1
- name: Build Pilot Light Deployment (RELEASE)
shell: cmd
run: |
set VULKAN_SDK=D:/a/VulkanSDK
cd src
call build_distribute.bat -c release
if not exist ../out/pl_screen_log_ext.dll exit 1
if not exist ../out/pl_console_ext.dll exit 1
if not exist ../out/pl_tools_ext.dll exit 1
if not exist ../out/pl_draw_backend_ext.dll exit 1
if not exist ../out/pl_draw_ext.dll exit 1
if not exist ../out/pl_ecs_ext.dll exit 1
if not exist ../out/pl_ecs_tools_ext.dll exit 1
if not exist ../out/pl_animation_ext.dll exit 1
if not exist ../out/pl_mesh_ext.dll exit 1
if not exist ../out/pl_camera_ext.dll exit 1
if not exist ../out/pl_gizmo_ext.dll exit 1
if not exist ../out/pl_gpu_allocators_ext.dll exit 1
if not exist ../out/pl_graphics_ext.dll exit 1
if not exist ../out/pl_image_ext.dll exit 1
if not exist ../out/pl_job_ext.dll exit 1
if not exist ../out/pl_log_ext.dll exit 1
if not exist ../out/pl_model_loader_ext.dll exit 1
if not exist ../out/pl_profile_ext.dll exit 1
if not exist ../out/pl_rect_pack_ext.dll exit 1
if not exist ../out/pl_renderer_ext.dll exit 1
if not exist ../out/pl_resource_ext.dll exit 1
if not exist ../out/pl_shader_ext.dll exit 1
if not exist ../out/pl_starter_ext.dll exit 1
if not exist ../out/pl_stats_ext.dll exit 1
if not exist ../out/pl_string_intern_ext.dll exit 1
if not exist ../out/pl_ui_ext.dll exit 1
if not exist ../out/pl_physics_ext.dll exit 1
if not exist ../out/pl_collision_ext.dll exit 1
if not exist ../out/pl_bvh_ext.dll exit 1
if not exist ../out/pl_vfs_ext.dll exit 1
if not exist ../out/pl_pak_ext.dll exit 1
if not exist ../out/pl_compress_ext.dll exit 1
if not exist ../out/pl_datetime_ext.dll exit 1
if not exist ../out/pl_config_ext.dll exit 1
if not exist ../out/pl_platform_ext.dll exit 1
if not exist ../out/pilot_light.exe exit 1
if not exist ../out/pl_script_camera.dll exit 1
if not exist ../out/pl_shader_tools_ext.dll exit 1
if not exist ../out/pl_dds_ext.dll exit 1
cd ..
- name: Package Pilot Light
shell: cmd
run: |
cd $GITHUB_WORKSPACE
cd scripts
python package.py
- name: Upload Pilot Light
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: pilotlight_release_win32
path: D:\a\pilotlight\pilotlight\out\pilotlight_win32.zip
overwrite: true
MacOS:
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Retrieve submodules
run: git submodule update --init --recursive
- name: Install Dependencies
run: |
curl https://sdk.lunarg.com/sdk/download/1.3.283.0/mac/vulkansdk-macos-1.3.283.0.dmg -o vk.dmg
hdiutil attach vk.dmg
sudo /Volumes/vulkansdk-macos-1.3.283.0/InstallVulkan.app/Contents/MacOS/InstallVulkan --root ~/VulkanSDK/1.3.283.0 --accept-licenses --default-answer --confirm-command install com.lunarg.vulkan.core com.lunarg.vulkan.usr com.lunarg.vulkan.sdl2 com.lunarg.vulkan.glm com.lunarg.vulkan.volk com.lunarg.vulkan.vma com.lunarg.vulkan.ios
- name: Prep 1
run: |
cd $GITHUB_WORKSPACE
cd scripts
python3 gen_build.py
python3 gen_distribute.py
- name: Build Pilot Light (DEBUG)
run: |
cd $GITHUB_WORKSPACE
cd src
chmod +x build.sh
./build.sh -c debug
cd ../examples
chmod +x build.sh
./build.sh -c debug
cd ..
cd out
chmod +x pilot_light
cd ..
test -f ./out/app.dylib || exit 1
test -f ./out/pilot_light || exit 1
test -f ./out/pl_platform_ext.dylib || exit 1
test -f ./out/pl_script_camera.dylib || exit 1
test -f ./out/pl_unity_ext.dylib || exit 1
test -f ./out/example_basic_0.dylib || exit 1
test -f ./out/example_basic_1.dylib || exit 1
test -f ./out/example_basic_2.dylib || exit 1
test -f ./out/example_basic_3.dylib || exit 1
test -f ./out/example_basic_4.dylib || exit 1
test -f ./out/example_gfx_0.dylib || exit 1
test -f ./out/example_gfx_1.dylib || exit 1
test -f ./out/example_gfx_2.dylib || exit 1
test -f ./out/example_gfx_3.dylib || exit 1
test -f ./out/example_gfx_4.dylib || exit 1
- name: Prep 2
run: |
cd $GITHUB_WORKSPACE
rm -r out
- name: Build Pilot Light (DEBUG EXPERIMENTAL)
run: |
cd $GITHUB_WORKSPACE
cd src
chmod +x build.sh
./build.sh -c debug_experimental
cd ..
cd out
chmod +x pilot_light
cd ..
test -f ./out/app.dylib || exit 1
test -f ./out/libdearimguid.a || exit 1
test -f ./out/editor.dylib || exit 1
test -f ./out/libglfwd.a || exit 1
test -f ./out/pilot_light || exit 1
test -f ./out/pl_dear_imgui_ext.dylib || exit 1
test -f ./out/pl_platform_ext.dylib || exit 1
test -f ./out/pl_script_camera.dylib || exit 1
test -f ./out/pl_unity_ext.dylib || exit 1
- name: Prep 3
run: |
cd $GITHUB_WORKSPACE
rm -r out
- name: Build Pilot Light (RELEASE EXPERIMENTAL)
run: |
cd $GITHUB_WORKSPACE
cd src
chmod +x build.sh
./build.sh -c release_experimental
cd ..
cd out
chmod +x pilot_light
cd ..
test -f ./out/app.dylib || exit 1
test -f ./out/libdearimgui.a || exit 1
test -f ./out/editor.dylib || exit 1
test -f ./out/libglfw.a || exit 1
test -f ./out/pilot_light || exit 1
test -f ./out/pl_dear_imgui_ext.dylib || exit 1
test -f ./out/pl_platform_ext.dylib || exit 1
test -f ./out/pl_script_camera.dylib || exit 1
test -f ./out/pl_unity_ext.dylib || exit 1
- name: Prep 4
run: |
cd $GITHUB_WORKSPACE
rm -r out
- name: Build Pilot Light (RELEASE)
run: |
cd $GITHUB_WORKSPACE
cd src
chmod +x build.sh
./build.sh -c release
cd ../examples
chmod +x build.sh
./build.sh -c release
cd ..
cd out
chmod +x pilot_light
cd ..
test -f ./out/app.dylib || exit 1
test -f ./out/pilot_light || exit 1
test -f ./out/pl_platform_ext.dylib || exit 1
test -f ./out/pl_script_camera.dylib || exit 1
test -f ./out/pl_unity_ext.dylib || exit 1
test -f ./out/example_basic_0.dylib || exit 1
test -f ./out/example_basic_1.dylib || exit 1
test -f ./out/example_basic_2.dylib || exit 1
test -f ./out/example_basic_3.dylib || exit 1
test -f ./out/example_basic_4.dylib || exit 1
test -f ./out/example_gfx_0.dylib || exit 1
test -f ./out/example_gfx_1.dylib || exit 1
test -f ./out/example_gfx_2.dylib || exit 1
test -f ./out/example_gfx_3.dylib || exit 1
test -f ./out/example_gfx_4.dylib || exit 1
- name: Build Pilot Light Deployment (RELEASE)
run: |
cd $GITHUB_WORKSPACE
cd src
chmod +x build_distribute.sh
./build_distribute.sh -c release
cd ..
cd out
chmod +x pilot_light
cd ..
test -f ./out/pilot_light || exit 1
test -f ./out/pl_console_ext.dylib || exit 1
test -f ./out/pl_screen_log_ext.dylib || exit 1
test -f ./out/pl_tools_ext.dylib || exit 1
test -f ./out/pl_draw_backend_ext.dylib || exit 1
test -f ./out/pl_draw_ext.dylib || exit 1
test -f ./out/pl_ecs_ext.dylib || exit 1
test -f ./out/pl_ecs_tools_ext.dylib || exit 1
test -f ./out/pl_animation_ext.dylib || exit 1
test -f ./out/pl_mesh_ext.dylib || exit 1
test -f ./out/pl_camera_ext.dylib || exit 1
test -f ./out/pl_gizmo_ext.dylib || exit 1
test -f ./out/pl_gpu_allocators_ext.dylib || exit 1
test -f ./out/pl_graphics_ext.dylib || exit 1
test -f ./out/pl_image_ext.dylib || exit 1
test -f ./out/pl_job_ext.dylib || exit 1
test -f ./out/pl_log_ext.dylib || exit 1
test -f ./out/pl_model_loader_ext.dylib || exit 1
test -f ./out/pl_profile_ext.dylib || exit 1
test -f ./out/pl_rect_pack_ext.dylib || exit 1
test -f ./out/pl_renderer_ext.dylib || exit 1
test -f ./out/pl_resource_ext.dylib || exit 1
test -f ./out/pl_shader_ext.dylib || exit 1
test -f ./out/pl_starter_ext.dylib || exit 1
test -f ./out/pl_stats_ext.dylib || exit 1
test -f ./out/pl_string_intern_ext.dylib || exit 1
test -f ./out/pl_ui_ext.dylib || exit 1
test -f ./out/pl_physics_ext.dylib || exit 1
test -f ./out/pl_collision_ext.dylib || exit 1
test -f ./out/pl_bvh_ext.dylib || exit 1
test -f ./out/pl_vfs_ext.dylib || exit 1
test -f ./out/pl_pak_ext.dylib || exit 1
test -f ./out/pl_compress_ext.dylib || exit 1
test -f ./out/pl_datetime_ext.dylib || exit 1
test -f ./out/pl_config_ext.dylib || exit 1
test -f ./out/pl_platform_ext.dylib || exit 1
test -f ./out/pl_script_camera.dylib || exit 1
test -f ./out/pl_shader_tools_ext.dylib || exit 1
test -f ./out/pl_dds_ext.dylib || exit 1
- name: Package Pilot Light
run: |
cd $GITHUB_WORKSPACE
cd scripts
python3 package.py
- name: Upload Pilot Light
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: pilotlight_release_macos
path: /Users/runner/work/pilotlight/pilotlight/out/pilotlight_macos.zip
overwrite: true
Ubuntu:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Retrieve submodules
run: git submodule update --init --recursive
- name: Install Dependencies
run: |
wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.4.309-jammy.list https://packages.lunarg.com/vulkan/1.4.309/lunarg-vulkan-1.4.309-jammy.list
sudo apt update
sudo apt install vulkan-sdk
sudo apt install libx11-dev
sudo apt install libxkbcommon-x11-dev
sudo apt install libx11-xcb-dev
sudo apt install libxcb-xfixes0-dev
sudo apt install libxcb-cursor-dev
sudo apt install libxcb-cursor0
sudo apt install libxcb-keysyms1-dev
sudo apt install libxcursor-dev
sudo apt install libxrandr-dev
sudo apt install libxinerama-dev
sudo apt install libgl-dev
sudo apt install libxi-dev
- name: Prep 1
run: |
cd $GITHUB_WORKSPACE
cd scripts
python3 gen_build.py
python3 gen_distribute.py
- name: Build Pilot Light (DEBUG)
run: |
cd $GITHUB_WORKSPACE
cd src
chmod +x build.sh
./build.sh -c debug
cd ../examples
chmod +x build.sh
./build.sh -c debug
cd ..
cd out
chmod +x pilot_light
cd ..
test -f ./out/app.so || exit 1
test -f ./out/pilot_light || exit 1
test -f ./out/pl_platform_ext.so || exit 1
test -f ./out/pl_script_camera.so || exit 1
test -f ./out/pl_unity_ext.so || exit 1
test -f ./out/example_basic_0.so || exit 1
test -f ./out/example_basic_1.so || exit 1
test -f ./out/example_basic_2.so || exit 1
test -f ./out/example_basic_3.so || exit 1
test -f ./out/example_basic_4.so || exit 1
test -f ./out/example_gfx_0.so || exit 1
test -f ./out/example_gfx_1.so || exit 1
test -f ./out/example_gfx_2.so || exit 1
test -f ./out/example_gfx_3.so || exit 1
test -f ./out/example_gfx_4.so || exit 1
- name: Prep 2
run: |
cd $GITHUB_WORKSPACE
rm -r out
- name: Build Pilot Light (DEBUG EXPERIMENTAL)
run: |
cd $GITHUB_WORKSPACE
cd src
chmod +x build.sh
./build.sh -c debug_experimental
cd ..
cd out
chmod +x pilot_light
cd ..
test -f ./out/app.so || exit 1
test -f ./out/dearimguid.a || exit 1
test -f ./out/editor.so || exit 1
test -f ./out/glfwd.a || exit 1
test -f ./out/pilot_light || exit 1
test -f ./out/pl_dear_imgui_ext.so || exit 1
test -f ./out/pl_platform_ext.so || exit 1
test -f ./out/pl_script_camera.so || exit 1
test -f ./out/pl_unity_ext.so || exit 1
- name: Prep 3
run: |
cd $GITHUB_WORKSPACE
rm -r out
- name: Build Pilot Light (RELEASE EXPERIMENTAL)
run: |
cd $GITHUB_WORKSPACE
cd src
chmod +x build.sh
./build.sh -c release_experimental
cd ..
cd out
chmod +x pilot_light
cd ..
test -f ./out/app.so || exit 1
test -f ./out/dearimgui.a || exit 1
test -f ./out/editor.so || exit 1
test -f ./out/glfw.a || exit 1
test -f ./out/pilot_light || exit 1
test -f ./out/pl_dear_imgui_ext.so || exit 1
test -f ./out/pl_platform_ext.so || exit 1
test -f ./out/pl_script_camera.so || exit 1
test -f ./out/pl_unity_ext.so || exit 1
- name: Prep 4
run: |
cd $GITHUB_WORKSPACE
rm -r out
- name: Build Pilot Light (RELEASE)
run: |
cd $GITHUB_WORKSPACE
cd src
chmod +x build.sh
./build.sh -c release
cd ../examples
chmod +x build.sh
./build.sh -c release
cd ..
cd out
chmod +x pilot_light
cd ..
test -f ./out/app.so || exit 1
test -f ./out/pilot_light || exit 1
test -f ./out/pl_platform_ext.so || exit 1
test -f ./out/pl_script_camera.so || exit 1
test -f ./out/pl_unity_ext.so || exit 1
test -f ./out/example_basic_0.so || exit 1
test -f ./out/example_basic_1.so || exit 1
test -f ./out/example_basic_2.so || exit 1
test -f ./out/example_basic_3.so || exit 1
test -f ./out/example_basic_4.so || exit 1
test -f ./out/example_gfx_0.so || exit 1
test -f ./out/example_gfx_1.so || exit 1
test -f ./out/example_gfx_2.so || exit 1
test -f ./out/example_gfx_3.so || exit 1
test -f ./out/example_gfx_4.so || exit 1
- name: Build Pilot Light Deployment (RELEASE)
run: |
cd $GITHUB_WORKSPACE
cd src
chmod +x build_distribute.sh
./build_distribute.sh -c release
cd ..
cd out
chmod +x pilot_light
cd ..
test -f ./out/pilot_light || exit 1
test -f ./out/pl_console_ext.so || exit 1
test -f ./out/pl_screen_log_ext.so || exit 1
test -f ./out/pl_tools_ext.so || exit 1
test -f ./out/pl_draw_backend_ext.so || exit 1
test -f ./out/pl_draw_ext.so || exit 1
test -f ./out/pl_ecs_ext.so || exit 1
test -f ./out/pl_ecs_tools_ext.so || exit 1
test -f ./out/pl_animation_ext.so || exit 1
test -f ./out/pl_mesh_ext.so || exit 1
test -f ./out/pl_camera_ext.so || exit 1
test -f ./out/pl_gizmo_ext.so || exit 1
test -f ./out/pl_gpu_allocators_ext.so || exit 1
test -f ./out/pl_graphics_ext.so || exit 1
test -f ./out/pl_image_ext.so || exit 1
test -f ./out/pl_job_ext.so || exit 1
test -f ./out/pl_log_ext.so || exit 1
test -f ./out/pl_model_loader_ext.so || exit 1
test -f ./out/pl_profile_ext.so || exit 1
test -f ./out/pl_rect_pack_ext.so || exit 1
test -f ./out/pl_renderer_ext.so || exit 1
test -f ./out/pl_resource_ext.so || exit 1
test -f ./out/pl_shader_ext.so || exit 1
test -f ./out/pl_starter_ext.so || exit 1
test -f ./out/pl_stats_ext.so || exit 1
test -f ./out/pl_string_intern_ext.so || exit 1
test -f ./out/pl_ui_ext.so || exit 1
test -f ./out/pl_physics_ext.so || exit 1
test -f ./out/pl_collision_ext.so || exit 1
test -f ./out/pl_bvh_ext.so || exit 1
test -f ./out/pl_vfs_ext.so || exit 1
test -f ./out/pl_pak_ext.so || exit 1
test -f ./out/pl_compress_ext.so || exit 1
test -f ./out/pl_datetime_ext.so || exit 1
test -f ./out/pl_config_ext.so || exit 1
test -f ./out/pl_platform_ext.so || exit 1
test -f ./out/pl_script_camera.so || exit 1
test -f ./out/pl_shader_tools_ext.so || exit 1
test -f ./out/pl_dds_ext.so || exit 1
- name: Package Pilot Light
run: |
cd $GITHUB_WORKSPACE
cd scripts
python3 package.py
pwd
- name: Upload Pilot Light
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: pilotlight_release_linux
path: /home/runner/work/pilotlight/pilotlight/out/pilotlight_linux_amd64.zip
overwrite: true