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: | ||||
|   push: | ||||
|     branches: ["release"] | ||||
|   workflow_dispatch: | ||||
| 
 | ||||
| env: | ||||
|   CARGO_TERM_COLOR: always | ||||
| 
 | ||||
| jobs: | ||||
|   build: | ||||
|  | @ -35,7 +31,7 @@ jobs: | |||
|       run: | | ||||
|         cmake -B build -G Ninja \ | ||||
|           -DCMAKE_BUILD_TYPE=Release \ | ||||
|           -DCMAKE_INSTALL_PREFIX=./build-release \ | ||||
|           -DCMAKE_INSTALL_PREFIX=./target \ | ||||
|           -DCMAKE_C_COMPILER=clang \ | ||||
|           -DCMAKE_CXX_COMPILER=clang++ \ | ||||
|           -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On | ||||
|  | @ -45,33 +41,33 @@ jobs: | |||
|     - name: Install with CMake | ||||
|       run: | | ||||
|         cmake --install build --strip | ||||
|     - name: Build lsfg-vk-ui with appimage.sh | ||||
|     - name: Build lsfg-vk-ui | ||||
|       run: | | ||||
|         pushd ui | ||||
|         chmod +x ../scripts/build/appimage.sh | ||||
|         ../scripts/build/appimage.sh | ||||
|         chmod +x ./build_appimage.sh | ||||
|         ./build_appimage.sh | ||||
|         popd | ||||
|     - name: Install lsfg-vk-ui | ||||
|       run: | | ||||
|         mkdir -p build-release/{bin,share/applications,share/icons/hicolor/256x256/apps} | ||||
|         mv ui/lsfg-vk-ui.AppImage build-release/bin/lsfg-vk-ui | ||||
|         cp ui/rsc/gay.pancake.lsfg-vk-ui.desktop build-release/share/applications/lsfg-vk-ui.desktop | ||||
|         cp ui/rsc/icon.png build-release/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png | ||||
|         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: | | ||||
|           build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json | ||||
|           build-release/share/applications/lsfg-vk-ui.desktop | ||||
|           build-release/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png | ||||
|           build-release/lib/liblsfg-vk.so | ||||
|           build-release/bin/lsfg-vk-ui | ||||
|           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: | | ||||
|           build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json | ||||
|           build-release/lib/liblsfg-vk.so | ||||
|           target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json | ||||
|           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" | ||||
| 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) | ||||
| echo "$VERSION-dev" > ~/version | ||||
| 
 | ||||
|  | @ -25,16 +21,7 @@ chmod +x uruntime uruntime-lite | |||
| 
 | ||||
| # build lsfg-vk-ui | ||||
| echo "Building lsfg-vk-ui..." | ||||
| cargo build --release # doesn't compile with debloated llvm | ||||
| 
 | ||||
| # 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 | ||||
| cargo build --release | ||||
| 
 | ||||
| # deploy app directory | ||||
| echo "Deploying app directory..." | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 PancakeTAS
						PancakeTAS