lsfg-vk/.github/workflows/build.yml
2025-07-25 19:42:02 +02:00

65 lines
1.8 KiB
YAML

name: (Test) Build lsfg-vk
on:
push:
branches: ["test/deploying"]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
# prepare system
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install build dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: git wget xvfb
clang clang-tools llvm rustup
cmake ninja-build pkg-config
libvulkan-dev
libgtk-4-dev libadwaita-1-dev
version: 1.0
execute_install_scripts: true
- name: Install rust dependency
run: |
rustup default stable
# build the project
- name: Configure with CMake and Ninja
run: |
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=./build-release \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
- name: Build with Ninja
run: |
ninja -C build
- name: Install with CMake
run: |
cmake --install build --strip
- name: Build lsfg-vk-ui with appimage.sh
run: |
pushd ui
chmod +x ../scripts/build/appimage.sh
../scripts/build/appimage.sh
popd
- name: Install lsfg-vk-ui
run: |
mkdir -p build-release/bin
mv ui/lsfg-vk-ui.AppImage build-release/bin/lsfg-vk-ui
# upload all files
- name: Upload lsfg-vk artifact
uses: actions/upload-artifact@v4
with:
name: lsfg-vk_TEST
path: |
build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
build-release/lib/liblsfg-vk.so
build-release/bin/lsfg-vk-ui