Skip to content

Manual Generate UWP MSIX/MSIXBundle #1

Manual Generate UWP MSIX/MSIXBundle

Manual Generate UWP MSIX/MSIXBundle #1

name: Manual Generate UWP MSIX/MSIXBundle
on:
workflow_dispatch:
inputs:
buildConfiguration:
type: choice
description: 'Build Configuration'
required: true
default: 'Release'
options:
- Release
- Debug
buildPlatform:
type: choice
description: 'Build Platform'
required: true
default: 'Bundle'
options:
- Bundle
- x64
- ARM64
- ARM
jobs:
build-uwp:
name: Generate ${{ github.event.inputs.buildConfiguration }} ${{ github.event.inputs.buildPlatform }} UWP
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.1
#- name: Setup cache # We probably need something like MSBuildCache for MSBuild to be able to use cache properly
# id: cache-uwp
# uses: actions/cache@v3
# with:
# path: |
# UWP/${{ github.event.inputs.buildPlatform }}/${{ github.event.inputs.buildConfiguration }}/**
# key: uwp-${{ github.event.inputs.buildConfiguration }}-${{ github.event.inputs.buildPlatform }}
- name: Testing values
run: |
# Testing values ...
#env
echo "Content of [env.GITHUB_WORKSPACE] = ${env.GITHUB_WORKSPACE}"
echo "Content of [[env.GITHUB_WORKSPACE]] = ${{env.GITHUB_WORKSPACE}}"
echo "Content of [env:GITHUB_WORKSPACE] = ${env:GITHUB_WORKSPACE}"
echo "Content of [github.workspace] = ${github.workspace}"
echo "Content of [[github.workspace]] = ${{github.workspace}}"
echo "double ${{ github.event.inputs.buildConfiguration }}"
echo ${{github.workspace}}
echo "single ${ github.event.inputs.buildConfiguration }"
echo $env:GITHUB_WORKSPACE
- name: Execute MSIX build
working-directory: ${{ github.workspace }}
env:
INCLUDE_SYMBOLS: ${{ github.event.inputs.buildConfiguration == 'Debug' && 'true' || 'false' }}
if: ${{ github.event.inputs.buildPlatform != 'Bundle' }}
run: |
echo "include symbols = ${{ env.INCLUDE_SYMBOLS }}"
msbuild UWP/PPSSPP_UWP.sln /m /p:TrackFileAccess=false /p:Configuration=${{ github.event.inputs.buildConfiguration }} /p:Platform=${{ github.event.inputs.buildPlatform }} /p:IncludeSymbols=${{ env.INCLUDE_SYMBOLS }} /p:AppxSymbolPackageEnabled=${{ env.INCLUDE_SYMBOLS }} /p:AppxPackageSigningEnabled=true /p:PackageCertificateKeyFile=PPSSPP_UWP_TemporaryKey.pfx /p:AppxBundle=Never /p:UapAppxPackageBuildMode=SideloadOnly /p:AppxBundlePlatforms="${{ github.event.inputs.buildPlatform }}"
- name: Execute MSIXBundle build
working-directory: ${{ github.workspace }}
env:
INCLUDE_SYMBOLS: ${{ github.event.inputs.buildConfiguration == 'Debug' && 'true' || 'false' }}
if: ${{ github.event.inputs.buildPlatform == 'Bundle' }}
run: |
echo "include symbols = ${{ env.INCLUDE_SYMBOLS }}"
msbuild UWP/PPSSPP_UWP.sln /m /p:TrackFileAccess=false /p:Configuration=${{ github.event.inputs.buildConfiguration }} /p:Platform=x64 /p:IncludeSymbols=${{ env.INCLUDE_SYMBOLS }} /p:AppxSymbolPackageEnabled=${{ env.INCLUDE_SYMBOLS }} /p:AppxPackageSigningEnabled=true /p:PackageCertificateKeyFile=PPSSPP_UWP_TemporaryKey.pfx /p:AppxBundle=Always /p:UapAppxPackageBuildMode=SideloadOnly /p:AppxBundlePlatforms="x64|ARM64|ARM"
- name: Package build
working-directory: ${{ github.workspace }}
run: |
# Testing file location ...
#find . -name "PPSSPP*.exe"
#find . -name "*.appx*"
#find . -name "*.msix*"
mkdir ppsspp
#ls UWP/AppPackages/PPSSPP_UWP
cp -r UWP/AppPackages/PPSSPP_UWP/*.* ppsspp/
#ls ppsspp
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: UWP-${{ github.event.inputs.buildConfiguration }}-${{ github.event.inputs.buildPlatform }} build
path: ppsspp/