mirror of
https://github.com/PancakeTAS/lsfg-vk.git
synced 2025-10-30 07:01:10 +00:00
test: packaging workflow
This commit is contained in:
parent
0eb012b04b
commit
32c6d2efe9
12 changed files with 155 additions and 5 deletions
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
|
|
@ -47,8 +47,8 @@ jobs:
|
||||||
- name: Build lsfg-vk-ui with appimage.sh
|
- name: Build lsfg-vk-ui with appimage.sh
|
||||||
run: |
|
run: |
|
||||||
pushd ui
|
pushd ui
|
||||||
chmod +x appimage.sh
|
chmod +x ../scripts/build/appimage.sh
|
||||||
./appimage.sh
|
../scripts/build/appimage.sh
|
||||||
popd
|
popd
|
||||||
- name: Install lsfg-vk-ui
|
- name: Install lsfg-vk-ui
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
2
.github/workflows/flatpak.yml
vendored
2
.github/workflows/flatpak.yml
vendored
|
|
@ -20,5 +20,5 @@ jobs:
|
||||||
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||||
with:
|
with:
|
||||||
bundle: "org.freedesktop.Platform.VulkanLayer.lsfg_vk_TEST_${{ matrix.version }}.flatpak"
|
bundle: "org.freedesktop.Platform.VulkanLayer.lsfg_vk_TEST_${{ matrix.version }}.flatpak"
|
||||||
manifest-path: "flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_${{ matrix.version }}.yml"
|
manifest-path: "scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_${{ matrix.version }}.yml"
|
||||||
verbose: true
|
verbose: true
|
||||||
|
|
|
||||||
46
.github/workflows/package.yml
vendored
Normal file
46
.github/workflows/package.yml
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
name: (Test) Package lsfg-vk
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_run:
|
||||||
|
workflows: ["(Test) Build lsfg-vk"]
|
||||||
|
types:
|
||||||
|
- completed
|
||||||
|
branches: ["test/deploying"]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
package:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
||||||
|
steps:
|
||||||
|
# prepare system
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Download lsfg-vk artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: lsfg-vk_TEST
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run-id: ${{ github.event.workflow_run.id }}
|
||||||
|
- name: Package lsfg-vk for various distros
|
||||||
|
run: |
|
||||||
|
export VERSION=$(grep -oP ' VERSION\s+\K[\d.]+' CMakeLists.txt)
|
||||||
|
chmod +x scripts/package/package.sh
|
||||||
|
./scripts/package/package.sh
|
||||||
|
- name: Upload lsfg-vk for dpkg
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: lsfg-vk.dpkg_TEST
|
||||||
|
path: |
|
||||||
|
*.deb
|
||||||
|
- name: Upload lsfg-vk for rpm
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: lsfg-vk.rpm_TEST
|
||||||
|
path: |
|
||||||
|
*.rpm
|
||||||
|
- name: Upload lsfg-vk for alpm
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: lsfg-vk.alpm_TEST
|
||||||
|
path: |
|
||||||
|
*.zst
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
"name": "VK_LAYER_LS_frame_generation",
|
"name": "VK_LAYER_LS_frame_generation",
|
||||||
"type": "GLOBAL",
|
"type": "GLOBAL",
|
||||||
"api_version": "1.4.313",
|
"api_version": "1.4.313",
|
||||||
"library_path": "../../../lib/liblsfg-vk.so",
|
"library_path": "liblsfg-vk.so",
|
||||||
"implementation_version": "1",
|
"implementation_version": "1",
|
||||||
"description": "Lossless Scaling frame generation layer",
|
"description": "Lossless Scaling frame generation layer",
|
||||||
"functions": {
|
"functions": {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ index ece2a5f..774a027 100644
|
||||||
"name": "VK_LAYER_LS_frame_generation",
|
"name": "VK_LAYER_LS_frame_generation",
|
||||||
"type": "GLOBAL",
|
"type": "GLOBAL",
|
||||||
"api_version": "1.4.313",
|
"api_version": "1.4.313",
|
||||||
- "library_path": "../../../lib/liblsfg-vk.so",
|
- "library_path": "liblsfg-vk.so",
|
||||||
+ "library_path": "/usr/lib/extensions/vulkan/lsfgvk/lib/liblsfg-vk.so",
|
+ "library_path": "/usr/lib/extensions/vulkan/lsfgvk/lib/liblsfg-vk.so",
|
||||||
"implementation_version": "1",
|
"implementation_version": "1",
|
||||||
"description": "Lossless Scaling frame generation layer",
|
"description": "Lossless Scaling frame generation layer",
|
||||||
12
scripts/package/alpm.PKGINFO
Normal file
12
scripts/package/alpm.PKGINFO
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
pkgname = lsfg-vk
|
||||||
|
pkgbase = lsfg-vk
|
||||||
|
pkgver = ${VERSION}-1
|
||||||
|
pkgdesc = "Lossless Scaling Frame Generation on Linux via DXVK/Vulkan"
|
||||||
|
url = https://discord.gg/losslessscaling
|
||||||
|
packager = "PancakeTAS <???>"
|
||||||
|
arch = x86_64
|
||||||
|
license = MIT
|
||||||
|
depend = vulkan-icd-loader
|
||||||
|
depend = libadwaita
|
||||||
|
depend = gtk4
|
||||||
|
depend = glibc
|
||||||
12
scripts/package/dpkg.control
Normal file
12
scripts/package/dpkg.control
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
Package: lsfg-vk
|
||||||
|
Description: Lossless Scaling Frame Generation on Linux via DXVK/Vulkan
|
||||||
|
Homepage: https://discord.gg/losslessscaling
|
||||||
|
Maintainer: "PancakeTAS <???>"
|
||||||
|
Version: ${VERSION}-1
|
||||||
|
Architecture: amd64
|
||||||
|
Section: utils
|
||||||
|
Priority: optional
|
||||||
|
Depends: libc6 (>= 2.38-1),
|
||||||
|
libvulkan1,
|
||||||
|
libadwaita-1-0,
|
||||||
|
libgtk-4-1
|
||||||
51
scripts/package/package.sh
Executable file
51
scripts/package/package.sh
Executable file
|
|
@ -0,0 +1,51 @@
|
||||||
|
#!/bin/sh
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
echo "VERSION environment variable is not set."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
# build alpm package
|
||||||
|
echo "Building ALPM package..."
|
||||||
|
|
||||||
|
mkdir -pv alpm
|
||||||
|
envsubst < scripts/package/alpm.PKGINFO > alpm/.PKGINFO
|
||||||
|
|
||||||
|
mkdir -pv alpm/usr/{bin,lib,share/vulkan/implicit_layer.d}
|
||||||
|
cp -v bin/lsfg-vk-ui alpm/usr/bin/lsfg-vk
|
||||||
|
cp -v lib/liblsfg-vk.so alpm/usr/lib/liblsfg-vk.so
|
||||||
|
cp -v share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json alpm/usr/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
||||||
|
|
||||||
|
tar -cvzf "lsfg-vk-$VERSION.x86_64.tar.zst" -C alpm \
|
||||||
|
.PKGINFO usr
|
||||||
|
|
||||||
|
# build dpkg package
|
||||||
|
echo "Building DEB package..."
|
||||||
|
|
||||||
|
mkdir -pv deb/DEBIAN
|
||||||
|
envsubst < scripts/package/dpkg.control > deb/DEBIAN/control
|
||||||
|
|
||||||
|
mkdir -pv deb/usr/{bin,lib,share/vulkan/implicit_layer.d}
|
||||||
|
cp -v bin/lsfg-vk-ui deb/usr/bin/lsfg-vk-ui
|
||||||
|
cp -v lib/liblsfg-vk.so deb/usr/lib/liblsfg-vk.so
|
||||||
|
cp -v share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json deb/usr/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
||||||
|
|
||||||
|
dpkg-deb --root-owner-group --build deb "lsfg-vk-$VERSION.x86_64.deb"
|
||||||
|
|
||||||
|
# build rpm package
|
||||||
|
echo "Building RPM package..."
|
||||||
|
|
||||||
|
mkdir -pv rpm
|
||||||
|
envsubst < scripts/package/rpm.spec > rpm/lsfg-vk.spec
|
||||||
|
|
||||||
|
mkdir -pv rpm/SOURCES
|
||||||
|
cp -v bin/lsfg-vk-ui rpm/SOURCES
|
||||||
|
cp lib/liblsfg-vk.so rpm/SOURCES
|
||||||
|
cp share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json rpm/SOURCES
|
||||||
|
|
||||||
|
rpmbuild -bb rpm/lsfg-vk.spec --define "_topdir $(pwd)/rpm"
|
||||||
|
mv -v "rpm/RPMS/x86_64/lsfg-vk-$VERSION-1.x86_64.rpm" "lsfg-vk-$VERSION.x86_64.rpm"
|
||||||
|
|
||||||
|
# cleanup
|
||||||
|
rm -rf alpm deb rpm
|
||||||
29
scripts/package/rpm.spec
Normal file
29
scripts/package/rpm.spec
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
Name: lsfg-vk
|
||||||
|
Summary: Lossless Scaling Frame Generation on Linux via DXVK/Vulkan
|
||||||
|
Version: ${VERSION}
|
||||||
|
Release: 1%{?dist}
|
||||||
|
URL: https://discord.gg/losslessscaling
|
||||||
|
Packager: "PancakeTAS <???>"
|
||||||
|
License: MIT
|
||||||
|
Group: Applications/System
|
||||||
|
BuildArch: x86_64
|
||||||
|
|
||||||
|
Requires: glibc >= 2.38
|
||||||
|
Requires: vulkan-loader
|
||||||
|
Requires: libadwaita
|
||||||
|
Requires: gtk4
|
||||||
|
|
||||||
|
%global __strip /bin/true
|
||||||
|
|
||||||
|
%description
|
||||||
|
Lossless Scaling Frame Generation on Linux via DXVK/Vulkan.
|
||||||
|
|
||||||
|
%install
|
||||||
|
install -Dm755 %{_sourcedir}/lsfg-vk-ui %{buildroot}%{_bindir}/lsfg-vk-ui
|
||||||
|
install -Dm644 %{_sourcedir}/liblsfg-vk.so %{buildroot}%{_libdir}/liblsfg-vk.so
|
||||||
|
install -Dm644 %{_sourcedir}/VkLayer_LS_frame_generation.json %{buildroot}%{_datadir}/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
||||||
|
|
||||||
|
%files
|
||||||
|
%{_bindir}/lsfg-vk-ui
|
||||||
|
%{_libdir}/liblsfg-vk.so
|
||||||
|
%{_datadir}/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
||||||
Loading…
Add table
Reference in a new issue