workflows for each distro

fixes #67
This commit is contained in:
PancakeTAS 2025-07-13 17:47:39 +02:00
parent 26ba56d9d0
commit 8cf8ea48a1
No known key found for this signature in database
7 changed files with 106 additions and 8 deletions

View file

@ -15,8 +15,7 @@ jobs:
- name: Install build dependencies - name: Install build dependencies
run: | run: |
pacman -Syu --noconfirm \ pacman -Syu --noconfirm \
base-devel \ base-devel git \
git \
clang llvm \ clang llvm \
cmake ninja \ cmake ninja \
spirv-headers vulkan-headers vulkan-icd-loader spirv-headers vulkan-headers vulkan-icd-loader

45
.github/workflows/build-fedora.yml vendored Normal file
View file

@ -0,0 +1,45 @@
name: Build lsfg-vk on Fedora
on: [push]
jobs:
build-fedora:
runs-on: ubuntu-latest
container:
image: fedora:latest
steps:
- name: Prepare cache for dnf packages
uses: actions/cache@v4
with:
path: /var/cache/libdnf5
key: fedora-dnf-cache
- name: Install build dependencies
run: |
echo "keepcache=1" >> /etc/dnf/dnf.conf
dnf update -y
dnf install -y \
git \
clang llvm \
cmake ninja-build \
spirv-headers-devel vulkan-headers vulkan-loader-devel
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Configure with CMake and Ninja
run: |
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=./build-release
- name: Build with Ninja
run: |
ninja -C build
- name: Install with CMake
run: |
cmake --install build
- name: Upload lsfg-vk artifact
uses: actions/upload-artifact@v4
with:
name: lsfg-vk_fedora
path: |
build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
build-release/lib/liblsfg-vk.so

54
.github/workflows/build-ubuntu.yml vendored Normal file
View file

@ -0,0 +1,54 @@
name: Build lsfg-vk on Ubuntu
on: [push]
jobs:
build-ubuntu:
runs-on: ubuntu-latest
steps:
- name: Prepare cache for apt packages
uses: actions/cache@v4
with:
path: /var/cache/apt/archives
key: ubuntu-apt-cache
- name: Install build dependencies
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -y \
build-essential \
clang clang-tools llvm \
git tar \
cmake ninja-build \
spirv-headers libvulkan-dev
- name: Checkout SPIR-V
uses: actions/checkout@v4
with:
repository: 'KhronosGroup/SPIRV-Headers'
ref: 'vulkan-sdk-1.4.313.0'
path: 'spirv-headers'
- name: Build SPIR-V headers
run: |
cmake -S spirv-headers -B spirv-headers/build
sudo cmake --build spirv-headers/build --target install
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Configure with CMake and Ninja
run: |
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=./build-release
- name: Build with Ninja
run: |
ninja -C build
- name: Install with CMake
run: |
cmake --install build
- name: Upload lsfg-vk artifact
uses: actions/upload-artifact@v4
with:
name: lsfg-vk_ubuntu
path: |
build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
build-release/lib/liblsfg-vk.so

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.29) cmake_minimum_required(VERSION 3.28)
set(CMAKE_C_COMPILER clang) set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++) set(CMAKE_CXX_COMPILER clang++)
@ -14,8 +14,8 @@ add_compile_options(-fPIC
-Wno-deprecated-declarations -Wno-deprecated-declarations
-Wno-unused-template) -Wno-unused-template)
add_subdirectory(dxbc) add_subdirectory(dxbc EXCLUDE_FROM_ALL)
add_subdirectory(pe-parse/pe-parser-library) add_subdirectory(pe-parse/pe-parser-library EXCLUDE_FROM_ALL)
add_subdirectory(lsfg-vk-common) add_subdirectory(lsfg-vk-common)
add_subdirectory(lsfg-vk-v3.1) add_subdirectory(lsfg-vk-v3.1)
add_subdirectory(lsfg-vk-v3.1p) add_subdirectory(lsfg-vk-v3.1p)

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.29) cmake_minimum_required(VERSION 3.28)
# project # project
project(lsfg-vk-common project(lsfg-vk-common

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.29) cmake_minimum_required(VERSION 3.28)
# project # project
project(lsfg-vk-v3.1 project(lsfg-vk-v3.1

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.29) cmake_minimum_required(VERSION 3.28)
# project # project
project(lsfg-vk-v3.1p project(lsfg-vk-v3.1p