mirror of
				https://github.com/PancakeTAS/lsfg-vk.git
				synced 2025-10-30 07:01:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Build lsfg-vk
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches: ["release"]
 | |
| 
 | |
| 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
 | 
