mirror of
https://github.com/PancakeTAS/lsfg-vk.git
synced 2026-02-05 13:25:54 +00:00
71 lines
2.2 KiB
YAML
71 lines
2.2 KiB
YAML
name: (CI) lsfg-vk
|
|
|
|
on:
|
|
push:
|
|
branches: ["release", "develop"]
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
# Install build dependencies & Update Vulkan headers
|
|
- name: Install build dependencies
|
|
uses: awalsh128/cache-apt-pkgs-action@latest
|
|
with:
|
|
packages:
|
|
git curl
|
|
llvm clang clang-tools clang-tidy
|
|
cmake ninja-build pkg-config
|
|
libvulkan-dev
|
|
mesa-common-dev
|
|
qt6-base-dev qt6-base-dev-tools
|
|
qt6-tools-dev qt6-tools-dev-tools
|
|
qt6-declarative-dev qt6-declarative-dev-tools
|
|
version: 2.0
|
|
- name: Update Vulkan headers
|
|
run: |
|
|
git clone -b vulkan-sdk-1.4.328 https://github.com/KhronosGroup/Vulkan-Headers /tmp/vkh
|
|
sudo rm -rf /usr/include/{vulkan,vk_video}
|
|
sudo mv /tmp/vkh/include/{vulkan,vk_video} /usr/include/
|
|
rm -rf /tmp/vkh
|
|
# Configure and build lsfg-vk
|
|
- name: Configure lsfg-vk
|
|
run: |
|
|
cmake -B build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=./target \
|
|
-DCMAKE_CXX_COMPILER=clang++ \
|
|
-DLSFGVK_BUILD_VK_LAYER=ON \
|
|
-DLSFGVK_BUILD_UI=ON \
|
|
-DLSFGVK_BUILD_CLI=ON \
|
|
-DLSFGVK_INSTALL_XDG_FILES=ON \
|
|
-DLSFGVK_LAYER_LIBRARY_PATH="../../../lib/liblsfg-vk-layer.so"
|
|
- name: Build with Ninja
|
|
run: |
|
|
ninja -C build
|
|
- name: Install with CMake
|
|
run: |
|
|
cmake --install build
|
|
# Compress lsfg-vk into an artifact
|
|
- name: Upload lsfg-vk artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: lsfg-vk
|
|
path: |
|
|
target/*
|
|
- name: Compress lsfg-vk for release
|
|
run: |
|
|
tar -cJf "lsfg-vk-2.0.0-dev${{ github.run_number }}-linux.tar.xz" -C target .
|
|
- name: Update pre-release version
|
|
uses: marvinpinto/action-automatic-releases@latest
|
|
with:
|
|
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
|
automatic_release_tag: v2.0.0-dev
|
|
title: "lsfg-vk 2.0.0-dev${{ github.run_number }}"
|
|
files: |
|
|
lsfg-vk-2.0.0-dev${{ github.run_number }}-linux.tar.xz
|