mirror of
https://github.com/PancakeTAS/lsfg-vk.git
synced 2025-10-30 07:01:10 +00:00
enhancement(flatpakui): enhance main build workflow
This commit is contained in:
parent
1ab4f2ef56
commit
bfd8d0b8e5
3 changed files with 89 additions and 33 deletions
34
.github/workflows/build.yml
vendored
34
.github/workflows/build.yml
vendored
|
|
@ -3,10 +3,6 @@ name: Build lsfg-vk
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ["release"]
|
branches: ["release"]
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
|
@ -35,7 +31,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
cmake -B build -G Ninja \
|
cmake -B build -G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_INSTALL_PREFIX=./build-release \
|
-DCMAKE_INSTALL_PREFIX=./target \
|
||||||
-DCMAKE_C_COMPILER=clang \
|
-DCMAKE_C_COMPILER=clang \
|
||||||
-DCMAKE_CXX_COMPILER=clang++ \
|
-DCMAKE_CXX_COMPILER=clang++ \
|
||||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
|
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
|
||||||
|
|
@ -45,33 +41,33 @@ jobs:
|
||||||
- name: Install with CMake
|
- name: Install with CMake
|
||||||
run: |
|
run: |
|
||||||
cmake --install build --strip
|
cmake --install build --strip
|
||||||
- name: Build lsfg-vk-ui with appimage.sh
|
- name: Build lsfg-vk-ui
|
||||||
run: |
|
run: |
|
||||||
pushd ui
|
pushd ui
|
||||||
chmod +x ../scripts/build/appimage.sh
|
chmod +x ./build_appimage.sh
|
||||||
../scripts/build/appimage.sh
|
./build_appimage.sh
|
||||||
popd
|
popd
|
||||||
- name: Install lsfg-vk-ui
|
- name: Install lsfg-vk-ui
|
||||||
run: |
|
run: |
|
||||||
mkdir -p build-release/{bin,share/applications,share/icons/hicolor/256x256/apps}
|
mkdir -p target/{bin,share/applications,share/icons/hicolor/256x256/apps}
|
||||||
mv ui/lsfg-vk-ui.AppImage build-release/bin/lsfg-vk-ui
|
mv ui/lsfg-vk-ui.AppImage target/bin/lsfg-vk-ui
|
||||||
cp ui/rsc/gay.pancake.lsfg-vk-ui.desktop build-release/share/applications/lsfg-vk-ui.desktop
|
cp ui/rsc/gay.pancake.lsfg-vk-ui.desktop target/share/applications/lsfg-vk-ui.desktop
|
||||||
cp ui/rsc/icon.png build-release/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
cp ui/rsc/icon.png target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
||||||
# upload all files
|
# upload all files
|
||||||
- name: Upload lsfg-vk artifact
|
- name: Upload lsfg-vk artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: lsfg-vk
|
name: lsfg-vk
|
||||||
path: |
|
path: |
|
||||||
build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
||||||
build-release/share/applications/lsfg-vk-ui.desktop
|
target/share/applications/lsfg-vk-ui.desktop
|
||||||
build-release/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
||||||
build-release/lib/liblsfg-vk.so
|
target/lib/liblsfg-vk.so
|
||||||
build-release/bin/lsfg-vk-ui
|
target/bin/lsfg-vk-ui
|
||||||
- name: Upload lsfg-vk artifact (without UI)
|
- name: Upload lsfg-vk artifact (without UI)
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: lsfg-vk_noui
|
name: lsfg-vk_noui
|
||||||
path: |
|
path: |
|
||||||
build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
||||||
build-release/lib/liblsfg-vk.so
|
target/lib/liblsfg-vk.so
|
||||||
|
|
|
||||||
73
.github/workflows/build_ci.yml
vendored
Normal file
73
.github/workflows/build_ci.yml
vendored
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
name: (CI) Build lsfg-vk
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ["develop"]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
# prepare system
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- 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
|
||||||
|
libdecor-0-0 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=./target \
|
||||||
|
-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
|
||||||
|
run: |
|
||||||
|
pushd ui
|
||||||
|
chmod +x ./build_appimage.sh
|
||||||
|
./build_appimage.sh
|
||||||
|
popd
|
||||||
|
- name: Install lsfg-vk-ui
|
||||||
|
run: |
|
||||||
|
mkdir -p target/{bin,share/applications,share/icons/hicolor/256x256/apps}
|
||||||
|
mv ui/lsfg-vk-ui.AppImage target/bin/lsfg-vk-ui
|
||||||
|
cp ui/rsc/gay.pancake.lsfg-vk-ui.desktop target/share/applications/lsfg-vk-ui.desktop
|
||||||
|
cp ui/rsc/icon.png target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
||||||
|
# upload all files
|
||||||
|
- name: Upload lsfg-vk artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: lsfg-vk
|
||||||
|
path: |
|
||||||
|
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
||||||
|
target/share/applications/lsfg-vk-ui.desktop
|
||||||
|
target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
||||||
|
target/lib/liblsfg-vk.so
|
||||||
|
target/bin/lsfg-vk-ui
|
||||||
|
- name: Upload lsfg-vk artifact (without UI)
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: lsfg-vk_noui
|
||||||
|
path: |
|
||||||
|
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
||||||
|
target/lib/liblsfg-vk.so
|
||||||
|
|
@ -8,10 +8,6 @@ URUNTIME="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime
|
||||||
URUNTIME_LITE="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-dwarfs-lite-x86_64"
|
URUNTIME_LITE="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-dwarfs-lite-x86_64"
|
||||||
SHARUN="https://github.com/VHSgunzo/sharun/releases/latest/download/sharun-x86_64-aio"
|
SHARUN="https://github.com/VHSgunzo/sharun/releases/latest/download/sharun-x86_64-aio"
|
||||||
|
|
||||||
LIBXML_URL="https://github.com/pkgforge-dev/llvm-libs-debloated/releases/download/continuous/libxml2-iculess-x86_64.pkg.tar.zst"
|
|
||||||
MESA_URL="https://github.com/pkgforge-dev/llvm-libs-debloated/releases/download/continuous/mesa-mini-x86_64.pkg.tar.zst"
|
|
||||||
LLVM_URL="https://github.com/pkgforge-dev/llvm-libs-debloated/releases/download/continuous/llvm-libs-nano-x86_64.pkg.tar.zst"
|
|
||||||
|
|
||||||
VERSION=$(awk -F'=|"' '/^version/{print $3}' ./Cargo.toml)
|
VERSION=$(awk -F'=|"' '/^version/{print $3}' ./Cargo.toml)
|
||||||
echo "$VERSION-dev" > ~/version
|
echo "$VERSION-dev" > ~/version
|
||||||
|
|
||||||
|
|
@ -25,16 +21,7 @@ chmod +x uruntime uruntime-lite
|
||||||
|
|
||||||
# build lsfg-vk-ui
|
# build lsfg-vk-ui
|
||||||
echo "Building lsfg-vk-ui..."
|
echo "Building lsfg-vk-ui..."
|
||||||
cargo build --release # doesn't compile with debloated llvm
|
cargo build --release
|
||||||
|
|
||||||
# install debloated dependencies
|
|
||||||
echo "Installing debloated packages..."
|
|
||||||
wget -O libxml2.pkg.tar.zst "$LIBXML_URL"
|
|
||||||
wget -O mesa.pkg.tar.zst "$MESA_URL"
|
|
||||||
wget -O llvm-libs.pkg.tar.zst "$LLVM_URL"
|
|
||||||
|
|
||||||
#pacman -U --noconfirm *.pkg.tar.zst
|
|
||||||
rm -fv *.pkg.tar.zst
|
|
||||||
|
|
||||||
# deploy app directory
|
# deploy app directory
|
||||||
echo "Deploying app directory..."
|
echo "Deploying app directory..."
|
||||||
Loading…
Add table
Reference in a new issue