From c3770a9a32a6a7317a940d372e112e71d40bf640 Mon Sep 17 00:00:00 2001 From: seth Date: Sat, 10 Jun 2023 17:17:13 -0400 Subject: [PATCH] feat(packaging): use msix for msvc builds Signed-off-by: seth --- .github/workflows/build.yml | 37 +++++++++++++--- program_info/AppxManifest.xml | 57 +++++++++++++++++++++++++ program_info/prismlauncher_150x150.png | Bin 0 -> 6593 bytes program_info/prismlauncher_44x44.png | Bin 0 -> 1860 bytes 4 files changed, 88 insertions(+), 6 deletions(-) create mode 100644 program_info/AppxManifest.xml create mode 100644 program_info/prismlauncher_150x150.png create mode 100644 program_info/prismlauncher_44x44.png diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c2966abe7..c466aabd9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -428,14 +428,23 @@ jobs: Get-ChildItem ${{ env.INSTALL_PORTABLE_DIR }} -Recurse | ForEach FullName | Resolve-Path -Relative | %{ $_.TrimStart('.\') } | %{ $_.TrimStart('${{ env.INSTALL_PORTABLE_DIR }}') } | %{ $_.TrimStart('\') } | Out-File -FilePath ${{ env.INSTALL_DIR }}/manifest.txt - - name: Package (Windows, installer) - if: runner.os == 'Windows' + - name: Package (Windows MinGW-w64, installer) + if: runner.os == 'Windows' && (matrix.msystem != '' || matrix.architecture == "win32") run: | cd ${{ env.INSTALL_DIR }} makensis -NOCD "${{ github.workspace }}/${{ env.BUILD_DIR }}/program_info/win_install.nsi" - - name: Sign installer (Windows) - if: runner.os == 'Windows' + - name: Package (Windows MSVC, installer) + if: runner.os == 'Windows' && matrix.msystem == '' && matrix.architecture != "win32" + shell: pwsh + run: | + cd ${{ env.INSTALL_DIR }} + Copy-Item ..\program_info\prismlauncher_*x*.png . + Copy-Item ..\program_info\AppxManifest.xml . + makeappx.exe pack /v /h SHA256 /d . /p prismlauncher.msix + + - name: Sign installer (Windows MinGW-w64/MSVC Legacy) + if: runner.os == 'Windows' && (matrix.msystem != '' || matrix.architecture == "win32") run: | if (Get-Content ./codesign.pfx){ SignTool sign /fd sha256 /td sha256 /f codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com PrismLauncher-Setup.exe @@ -443,6 +452,15 @@ jobs: ":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY } + - name: Sign installer (Windows MSVC) + if: runner.os == 'Windows' && matrix.msystem == '' && matrix.architecture != "win32" + run: | + if (Get-Content ./codesign.pfx){ + SignTool sign /fd sha256 /td sha256 /f codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com ${{ env.INSTALL_DIR }}/prismlauncher.msix + } else { + ":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY + } + - name: Package (Linux) if: runner.os == 'Linux' run: | @@ -521,13 +539,20 @@ jobs: name: PrismLauncher-${{ matrix.name }}-Portable-${{ env.VERSION }}-${{ inputs.build_type }} path: ${{ env.INSTALL_PORTABLE_DIR }}/** - - name: Upload installer (Windows) - if: runner.os == 'Windows' + - name: Upload installer (Windows MinGW-w64/MSVC Legacy) + if: runner.os == 'Windows' && (matrix.msystem != '' || matrix.architecture == "win32") uses: actions/upload-artifact@v3 with: name: PrismLauncher-${{ matrix.name }}-Setup-${{ env.VERSION }}-${{ inputs.build_type }} path: PrismLauncher-Setup.exe + - name: Upload installer (Windows MSVC) + if: runner.os == 'Windows' && matrix.msystem == '' && matrix.architecture != "win32" + uses: actions/upload-artifact@v3 + with: + name: PrismLauncher-${{ matrix.name }}-MSIX-${{ env.VERSION }}-${{ inputs.build_type }} + path: ${{ env.INSTALL_DIR }}/prismlauncher.msix + - name: Upload binary tarball (Linux, Qt 5) if: runner.os == 'Linux' && matrix.qt_ver != 6 uses: actions/upload-artifact@v3 diff --git a/program_info/AppxManifest.xml b/program_info/AppxManifest.xml new file mode 100644 index 000000000..d988980cc --- /dev/null +++ b/program_info/AppxManifest.xml @@ -0,0 +1,57 @@ + + + + + Prism Launcher + Prism Launcher + A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once + prismlauncher_150x150.png + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/program_info/prismlauncher_150x150.png b/program_info/prismlauncher_150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..ad0dff0e296c85f958001c3a752d3fb917e9ed00 GIT binary patch literal 6593 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 literal 0 HcmV?d00001 diff --git a/program_info/prismlauncher_44x44.png b/program_info/prismlauncher_44x44.png new file mode 100644 index 0000000000000000000000000000000000000000..b5aecccdbc35c363e41530d10b5827f456ceb9b3 GIT binary patch literal 1860 zcmV-K2fO%*P)4g=bQQFx8Ho{o7oxozu?Xj27Pj$>G0UtiIxn9%6ZcrOj`A7yl zAqBKcC3e*ud+AEHV`l~Y`-|VrA2YO{gV+J&q-&c77yws}GAb5^4&`{wU1HnONTv)j z(}qXSZ`m+rxOzbR1P9nmR9HFY5>oBZqq4_1ux)*&{Tw6w>Y2@RawG?p;E8O2(nZ+q zH7K7qY9C#w<1Ss>E}lPpJ)PgQ5kA`a%(E_yOWDGvm4Kq^Xkw_8_@?2qdSb6^d)A?Q zqKa;1uJez8vR-1I4{glNz4m|K$Nc0z;?y}5CLvh=g}11p6DnK*eu zDrQuUIrbMyZ8W0tL-pGCYvXNN{EIKklGiZRN_SNrLd&k|d9-|*D%aCe_XB3GX-4Md z61z5l(hUH7v+j^P!*KMYG%)AO^5`S7cJJY{?UQY;gvPr0aPXrcM!SOen#;&x+Eo;;T1N1#_ZdC?0R^QoM_6;V#CS-eJV@Z7czXiMiyM~* zff;w7J(al>x0K_l%uPB#jjxgAb2d@nPQTZ&g2Sl4x1&D4nA~0@FdmjzJ{!_V;rv6s zl)ziJF3Bkk<|c$e2*__J#MfMgt6+Rm3fv_upRqd6?rLI_-LFSiE=3HbfYs;;K6urMRgSS*I$?!o`3Y}_7C(mtkX5(oqcg(lC6K%pT>U*>e- zN*!UBWqQmc1%I-nmQV?aMk0LP+l#NLh*?!t$O#`xDMFzTfj|JuvXXeyzyVk)Qb*X* zq{kt^Xj;Nr!vr0{;bB4}Ba~HCkmvQ{_xsUxJ$ZXT;X-gHJ+QD+M|e79nI?k+1LS3p z*9SkVCt{=rcIVg&gZ;s@()VUOAE!%(N|q*e#SCTJ0NH>IsW}2$rt@APQ&|}ROJ&a) z8?a@msFMRD7R6EyiJpO!Qka(WY$?-aV~Sfi91?0`pwXZ|YruGg^{CVL4S>s%sUvI} zM%oBlO7ZWo!RzgRAR2Yv*QU}~%;Jw7!`$dE$1)vOs$4yFgoles`Bz|g%;fUz7`MU( zJ^#GOulD|oOI;VThVAN$u;=ybboGsK^NUh0U7W}8ZC}du>PET878%Fw<(O_UFrpLD zlY3nBNFz^tYZJvYOKtDt%UU25+?Y8Y@vO3%k zG#IAhM%W-Qmj1)I)OCT+{?*N6kGHU@buD?`e49NQiP8D)WzK%s$CU*OlKyo9h=jfL z_S8~b5}<1CORpOB>{Rdl8a&7SRo}El@I=SC15(Kb;CQB>nW(fc;adX1Uo1^qln!>hS%zBI+_YXG4gqsBX`e2_ z0E2Zkgi4A5t_dZ6bYl1FH!|^?@#*D>j`MHa@#qZ#@iO3iz~G>=zUxC0u}^4`hD>2$ ziU-lEUiLe6xBsBTc{ck?^U=Ot8wQj|dCZyUY5D8ZXNr43?EyN24 z-+un%sg5}