feat: add flatpak builds to the ci for testing
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										23
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @@ -492,16 +492,35 @@ jobs: | |||||||
|           submodules: 'true' |           submodules: 'true' | ||||||
|       - name: Set short version |       - name: Set short version | ||||||
|         shell: bash |         shell: bash | ||||||
|  |         if: inputs.build_type == 'Debug' | ||||||
|         run: | |         run: | | ||||||
|           ver_short=`git rev-parse --short HEAD` |           ver_short=`git rev-parse --short HEAD` | ||||||
|           echo "VERSION=$ver_short" >> $GITHUB_ENV |           echo "VERSION=$ver_short" >> $GITHUB_ENV | ||||||
|       - name: Package Snap (Linux) |       - name: Package Snap (Linux) | ||||||
|         id: snapcraft |         id: snapcraft | ||||||
|         if: runner.os == 'Linux' && inputs.build_type == 'Debug' |         if: inputs.build_type == 'Debug' | ||||||
|         uses: snapcore/action-build@v1 |         uses: snapcore/action-build@v1 | ||||||
|       - name: Upload Snap (Linux) |       - name: Upload Snap (Linux) | ||||||
|         if: runner.os == 'Linux' && inputs.build_type == 'Debug' |         if: inputs.build_type == 'Debug' | ||||||
|         uses: actions/upload-artifact@v3 |         uses: actions/upload-artifact@v3 | ||||||
|         with: |         with: | ||||||
|           name: prismlauncher_${{ env.VERSION }}_amd64.snap |           name: prismlauncher_${{ env.VERSION }}_amd64.snap | ||||||
|           path: ${{ steps.snapcraft.outputs.snap }} |           path: ${{ steps.snapcraft.outputs.snap }} | ||||||
|  |  | ||||||
|  |   flatpak: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     container: | ||||||
|  |       image: bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08 | ||||||
|  |       options: --privileged | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |         if: inputs.build_type == 'Debug' | ||||||
|  |         with: | ||||||
|  |           submodules: 'true' | ||||||
|  |       - name: Build Flatpak (Linux) | ||||||
|  |         if: inputs.build_type == 'Debug' | ||||||
|  |         uses: flatpak/flatpak-github-actions/flatpak-builder@v4 | ||||||
|  |         with: | ||||||
|  |           bundle: "Prism Launcher.flatpak" | ||||||
|  |           manifest-path: flatpak/org.prismlauncher.PrismLauncher.yml  | ||||||
|   | |||||||
							
								
								
									
										83
									
								
								flatpak/org.prismlauncher.PrismLauncher.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								flatpak/org.prismlauncher.PrismLauncher.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | |||||||
|  | id: org.prismlauncher.PrismLauncher | ||||||
|  | runtime: org.kde.Platform | ||||||
|  | runtime-version: "5.15-22.08" | ||||||
|  | sdk: org.kde.Sdk | ||||||
|  | sdk-extensions: | ||||||
|  |   - org.freedesktop.Sdk.Extension.openjdk17 | ||||||
|  |   - org.freedesktop.Sdk.Extension.openjdk8 | ||||||
|  | add-extensions: | ||||||
|  |   com.valvesoftware.Steam.Utility.gamescope: | ||||||
|  |     version: stable | ||||||
|  |     add-ld-path: lib | ||||||
|  |     no-autodownload: true | ||||||
|  |     autodelete: false | ||||||
|  |     directory: utils/gamescope | ||||||
|  |  | ||||||
|  | command: prismlauncher | ||||||
|  | finish-args: | ||||||
|  |   - --share=ipc | ||||||
|  |   - --socket=x11 | ||||||
|  |   - --socket=wayland | ||||||
|  |   - --device=all | ||||||
|  |   - --share=network | ||||||
|  |   - --socket=pulseaudio | ||||||
|  |     # for Discord RPC mods | ||||||
|  |   - --filesystem=xdg-run/app/com.discordapp.Discord:create | ||||||
|  |     # Mod drag&drop | ||||||
|  |   - --filesystem=xdg-download:ro | ||||||
|  |  | ||||||
|  | modules: | ||||||
|  |   - name: prismlauncher | ||||||
|  |     buildsystem: cmake-ninja | ||||||
|  |     config-opts: | ||||||
|  |       - -DLauncher_BUILD_PLATFORM=flatpak | ||||||
|  |       - -DCMAKE_BUILD_TYPE=Debug | ||||||
|  |     build-options: | ||||||
|  |       env: | ||||||
|  |         JAVA_HOME: /usr/lib/sdk/openjdk17/jvm/openjdk-17 | ||||||
|  |         JAVA_COMPILER: /usr/lib/sdk/openjdk17/jvm/openjdk-17/bin/javac | ||||||
|  |     sources: | ||||||
|  |         - type: dir | ||||||
|  |           path: ../ | ||||||
|  |   - name: openjdk | ||||||
|  |     buildsystem: simple | ||||||
|  |     build-commands: | ||||||
|  |       - mkdir -p /app/jdk/ | ||||||
|  |       - /usr/lib/sdk/openjdk17/install.sh | ||||||
|  |       - mv /app/jre /app/jdk/17 | ||||||
|  |       - /usr/lib/sdk/openjdk8/install.sh | ||||||
|  |       - mv /app/jre /app/jdk/8 | ||||||
|  |     cleanup: [/jre] | ||||||
|  |   - name: xrandr | ||||||
|  |     buildsystem: autotools | ||||||
|  |     sources: | ||||||
|  |       - type: archive | ||||||
|  |         url: https://xorg.freedesktop.org/archive/individual/app/xrandr-1.5.1.tar.xz | ||||||
|  |         sha256: 7bc76daf9d72f8aff885efad04ce06b90488a1a169d118dea8a2b661832e8762 | ||||||
|  |     cleanup: [/share/man, /bin/xkeystone] | ||||||
|  |   - name: gamemode | ||||||
|  |     buildsystem: meson | ||||||
|  |     config-opts: | ||||||
|  |       - -Dwith-sd-bus-provider=no-daemon | ||||||
|  |       - -Dwith-examples=false | ||||||
|  |     post-install: | ||||||
|  |       # gamemoderun is installed for users who want to use wrapper commands | ||||||
|  |       # post-install is running inside the build dir, we need it from the source though | ||||||
|  |       - install -Dm755 ../data/gamemoderun -t /app/bin | ||||||
|  |     sources: | ||||||
|  |       - type: git | ||||||
|  |         url: https://github.com/FeralInteractive/gamemode | ||||||
|  |         tag: "1.7" | ||||||
|  |         commit: 4dc99dff76218718763a6b07fc1900fa6d1dafd9 | ||||||
|  |   - name: enhance | ||||||
|  |     buildsystem: simple | ||||||
|  |     build-commands: | ||||||
|  |       - mkdir -p /app/utils/gamescope | ||||||
|  |       - install -Dm755 prime-run /app/bin/prime-run | ||||||
|  |       - mv /app/bin/prismlauncher /app/bin/prismrun | ||||||
|  |       - install -Dm755 prismlauncher /app/bin/prismlauncher | ||||||
|  |     sources: | ||||||
|  |       - type: file | ||||||
|  |         path: ../flatpak/prime-run | ||||||
|  |       - type: file | ||||||
|  |         path: ../flatpak/prismlauncher | ||||||
							
								
								
									
										4
									
								
								flatpak/prime-run
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								flatpak/prime-run
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | #!/bin/sh | ||||||
|  |  | ||||||
|  | export __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia | ||||||
|  | exec "$@" | ||||||
							
								
								
									
										11
									
								
								flatpak/prismlauncher
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								flatpak/prismlauncher
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | # discord RPC | ||||||
|  | for i in {0..9}; do | ||||||
|  |     test -S "$XDG_RUNTIME_DIR"/discord-ipc-"$i" || ln -sf {app/com.discordapp.Discord,"$XDG_RUNTIME_DIR"}/discord-ipc-"$i"; | ||||||
|  | done | ||||||
|  |  | ||||||
|  | export PATH="${PATH}${PATH:+:}/app/utils/gamescope/bin:/usr/lib/extensions/vulkan/MangoHud/bin" | ||||||
|  | export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}${LD_LIBRARY_PATH:+:}/usr/lib/extensions/vulkan/MangoHud/\$LIB/" | ||||||
|  |  | ||||||
|  | exec /app/bin/prismrun "$@" | ||||||
		Reference in New Issue
	
	Block a user
	 DioEgizio
					DioEgizio