From adffd92357f8b4fdd9d09f676e27ba1f3a84c538 Mon Sep 17 00:00:00 2001 From: PancakeTAS Date: Wed, 24 Dec 2025 16:47:01 +0100 Subject: [PATCH] refactor(cleanup): version bump & release workflow --- .github/workflows/ci.yml | 19 +++++++++++++++++-- .github/workflows/flatpak.yml | 2 -- .github/workflows/manual.yml | 3 ++- CMakeLists.txt | 5 +++-- .../gay.pancake.lsfg-vk-ui.metainfo.xml | 2 +- lsfg-vk-backend/src/lsfgvk.cpp | 4 ++-- lsfg-vk-debug/src/debug.cpp | 4 ++-- lsfg-vk-layer/CMakeLists.txt | 3 --- lsfg-vk-ui/src/utils.cpp | 4 ++-- 9 files changed, 29 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1356714..4b0fbfe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,6 +4,9 @@ on: push: branches: ["release", "develop"] +permissions: + contents: write + jobs: build: runs-on: ubuntu-22.04 @@ -34,12 +37,13 @@ jobs: - name: Configure lsfg-vk run: | cmake -B build -G Ninja \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=./target \ -DCMAKE_CXX_COMPILER=clang++ \ -DLSFGVK_BUILD_VULKAN_LAYER=On \ -DLSFGVK_BUILD_USER_INTERFACE=On \ - -DLSFGVK_INSTALL_XDG_FILES=On + -DLSFGVK_INSTALL_XDG_FILES=On \ + -DLSFGVK_LAYER_LIBRARY_PATH="../../../lib/liblsfg-vk-layer.so" - name: Build with Ninja run: | ninja -C build @@ -53,3 +57,14 @@ jobs: 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 diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml index 1e19fbc..84e3c9c 100644 --- a/.github/workflows/flatpak.yml +++ b/.github/workflows/flatpak.yml @@ -22,7 +22,6 @@ jobs: bundle: "org.freedesktop.Platform.VulkanLayer.lsfg_vk_${{ matrix.version }}.flatpak" manifest-path: "dist/flatpak/lsfg-vk-layer/org.freedesktop.Platform.VulkanLayer.lsfgvk_${{ matrix.version }}.yml" branch: "${{ matrix.version }}" - cache: false flatpak-ui: runs-on: ubuntu-latest container: @@ -37,4 +36,3 @@ jobs: bundle: "gay.pancake.lsfg-vk-ui.flatpak" manifest-path: "dist/flatpak/lsfg-vk-ui/gay.pancake.lsfg-vk-ui.yml" branch: "${{ github.ref_name }}" - cache: false diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index d310c72..1f29540 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -61,7 +61,8 @@ jobs: -DCMAKE_CXX_COMPILER=clang++ \ -DLSFGVK_BUILD_VULKAN_LAYER=On \ -DLSFGVK_BUILD_USER_INTERFACE=On \ - -DLSFGVK_INSTALL_XDG_FILES=On + -DLSFGVK_INSTALL_XDG_FILES=On \ + -DLSFGVK_LAYER_LIBRARY_PATH="../../../lib/liblsfg-vk-layer.so" - name: Build with Ninja run: | ninja -C build diff --git a/CMakeLists.txt b/CMakeLists.txt index 904da76..277e5bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,8 +6,9 @@ include(GNUInstallDirs) option(LSFGVK_BUILD_VULKAN_LAYER "Build the Vulkan layer" ON) option(LSFGVK_BUILD_USER_INTERFACE "Build the user interface" OFF) option(LSFGVK_BUILD_DEBUG_TOOL "Build the debug tool" OFF) -option(LSFGVK_INSTALL_DEVELOP "Install development files" OFF) -option(LSFGVK_INSTALL_XDG_FILES "Install xdg app files" OFF) +option(LSFGVK_INSTALL_DEVELOP "Install development libraries and headers" OFF) +option(LSFGVK_INSTALL_XDG_FILES "Install the application icon and desktop files" OFF) +option(LSFGVK_LAYER_LIBRARY_PATH "Change where Vulkan searches for the layer library" liblsfg-vk-layer.so) # === READ HERE FOR BUILD OPTIONS === set(CMAKE_CXX_STANDARD 20) diff --git a/dist/flatpak/lsfg-vk-ui/gay.pancake.lsfg-vk-ui.metainfo.xml b/dist/flatpak/lsfg-vk-ui/gay.pancake.lsfg-vk-ui.metainfo.xml index 2915023..c6e50c9 100644 --- a/dist/flatpak/lsfg-vk-ui/gay.pancake.lsfg-vk-ui.metainfo.xml +++ b/dist/flatpak/lsfg-vk-ui/gay.pancake.lsfg-vk-ui.metainfo.xml @@ -21,7 +21,7 @@ - + diff --git a/lsfg-vk-backend/src/lsfgvk.cpp b/lsfg-vk-backend/src/lsfgvk.cpp index fd50195..9de1226 100644 --- a/lsfg-vk-backend/src/lsfgvk.cpp +++ b/lsfg-vk-backend/src/lsfgvk.cpp @@ -201,8 +201,8 @@ namespace { vk::Vulkan createVulkanInstance(vk::PhysicalDeviceSelector selectPhysicalDevice) { try { return{ - "lsfg-vk", vk::version{1, 1, 0}, - "lsfg-vk-engine", vk::version{1, 1, 0}, + "lsfg-vk", vk::version{2, 0, 0}, + "lsfg-vk-engine", vk::version{2, 0, 0}, selectPhysicalDevice, false, std::nullopt, findCacheFilePath() diff --git a/lsfg-vk-debug/src/debug.cpp b/lsfg-vk-debug/src/debug.cpp index 4d924d7..a2a107f 100644 --- a/lsfg-vk-debug/src/debug.cpp +++ b/lsfg-vk-debug/src/debug.cpp @@ -75,8 +75,8 @@ int main() { const uint64_t time_us = get_current_time_us(); const vk::Vulkan vk{ - "lsfg-vk-debug", vk::version{1, 1, 0}, - "lsfg-vk-debug-engine", vk::version{1, 0, 0}, + "lsfg-vk-debug", vk::version{2, 0, 0}, + "lsfg-vk-debug-engine", vk::version{2, 0, 0}, [](const vk::VulkanInstanceFuncs, const std::vector& devices) { return devices.front(); diff --git a/lsfg-vk-layer/CMakeLists.txt b/lsfg-vk-layer/CMakeLists.txt index 1d5c122..f379f71 100644 --- a/lsfg-vk-layer/CMakeLists.txt +++ b/lsfg-vk-layer/CMakeLists.txt @@ -12,9 +12,6 @@ target_link_libraries(lsfg-vk-layer set_target_properties(lsfg-vk-layer PROPERTIES CXX_VISIBILITY_PRESET hidden) -set(LSFGVK_LAYER_LIBRARY_PATH - "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/liblsfg-vk-layer.so" - CACHE STRING "Path to Vulkan layer shared object") configure_file( "VkLayer_LSFGVK_frame_generation.json.in" "VkLayer_LSFGVK_frame_generation.json" diff --git a/lsfg-vk-ui/src/utils.cpp b/lsfg-vk-ui/src/utils.cpp index 47e865a..7fdec90 100644 --- a/lsfg-vk-ui/src/utils.cpp +++ b/lsfg-vk-ui/src/utils.cpp @@ -38,8 +38,8 @@ QStringList ui::getAvailableGPUs() { // NOLINT (IWYU) } // first remove 1:1 duplicates - std::ranges::sort(gpus); - gpus.erase(std::ranges::unique(gpus).begin(), gpus.end()); + std::sort(gpus.begin(), gpus.end()); // NOLINT (ranges [thanks gcc!]) + gpus.erase(std::unique(gpus.begin(), gpus.end()), gpus.end()); // NOLINT // build the frontend list QStringList list{"Default"}; // NOLINT (IWYU)