mirror of
https://github.com/PancakeTAS/lsfg-vk.git
synced 2025-10-30 07:01:10 +00:00
63 lines
1.9 KiB
YAML
63 lines
1.9 KiB
YAML
name: Build lsfg-vk on Ubuntu
|
|
on:
|
|
push:
|
|
branches: ["develop"]
|
|
|
|
jobs:
|
|
build-ubuntu:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Prepare permissions for apt cache
|
|
run: |
|
|
sudo chmod a+rwx -R /var/cache/apt/archives
|
|
- 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 \
|
|
xorg-dev xutils-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: |
|
|
CC=clang CXX=clang++ 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
|
|
- name: Prepare permissions for apt cache
|
|
run: |
|
|
sudo chmod a+rwx -R /var/cache/apt/archives
|