mirror of
				https://github.com/PancakeTAS/lsfg-vk.git
				synced 2025-10-30 07:01:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			122 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: (Manual) Build lsfg-vk
 | |
| 
 | |
| on:
 | |
|   issue_comment:
 | |
|     types: ["created"]
 | |
| 
 | |
| permissions:
 | |
|   pull-requests: write
 | |
| 
 | |
| jobs:
 | |
|   build:
 | |
|     runs-on: ubuntu-latest
 | |
|     if: |
 | |
|       github.event.issue.pull_request &&
 | |
|       github.event.comment.body == '@actions build' &&
 | |
|       github.event.comment.user.login == 'PancakeTAS'
 | |
|     steps:
 | |
|     # prepare system
 | |
|     - name: Find commit hash
 | |
|       id: prRef
 | |
|       run: |
 | |
|         echo "ref=$(gh pr view $PR_NUMBER --repo ${{ github.repository }} --json headRefName \
 | |
|           | jq -r '.headRefName')" >> $GITHUB_OUTPUT
 | |
|       env:
 | |
|         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | |
|         PR_NUMBER: ${{ github.event.issue.number }}
 | |
|     - name: Checkout repository
 | |
|       uses: actions/checkout@v4
 | |
|       with:
 | |
|         ref: ${{ steps.prRef.outputs.ref }}
 | |
|         fetch-depth: 0
 | |
|     - 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=Debug \
 | |
|           -DCMAKE_INSTALL_PREFIX=./target \
 | |
|           -DCMAKE_C_COMPILER=clang \
 | |
|           -DCMAKE_CXX_COMPILER=clang++
 | |
|     - name: Build with Ninja
 | |
|       run: |
 | |
|         ninja -C build
 | |
|     - name: Install with CMake
 | |
|       run: |
 | |
|         cmake --install build
 | |
|     - 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
 | |
|     # create packages for various distros
 | |
|     - name: Package lsfg-vk for various distros
 | |
|       run: |
 | |
|         cp -rv target/* .
 | |
|         chmod +x ./package/package.sh
 | |
|         ./package/package.sh
 | |
|     # 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
 | |
|     - name: Upload lsfg-vk for dpkg
 | |
|       uses: actions/upload-artifact@v4
 | |
|       with:
 | |
|         name: lsfg-vk.dpkg
 | |
|         path: |
 | |
|           *.deb
 | |
|     - name: Upload lsfg-vk for rpm
 | |
|       uses: actions/upload-artifact@v4
 | |
|       with:
 | |
|         name: lsfg-vk.rpm
 | |
|         path: |
 | |
|           *.rpm
 | |
|     - name: Upload lsfg-vk for alpm
 | |
|       uses: actions/upload-artifact@v4
 | |
|       with:
 | |
|         name: lsfg-vk.alpm
 | |
|         path: |
 | |
|           *.zst
 | |
|     # comment on pull request
 | |
|     - name: Comment on PR
 | |
|       uses: thollander/actions-comment-pull-request@v3
 | |
|       with:
 | |
|         pr-number: ${{ github.event.issue.number }}
 | |
|         message: |
 | |
|           **Development Build**
 | |
| 
 | |
|           I have built this lsfg-vk pull request for you:
 | |
|           https://github.com/PancakeTAS/lsfg-vk/actions/runs/${{ github.run_id }}
 | 
