mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-26 23:10:38 +00:00
118 lines
5.1 KiB
YAML
118 lines
5.1 KiB
YAML
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
|
|
|
|
signedPackage:
|
|
type: boolean
|
|
description: 'Signed Package'
|
|
required: true
|
|
default: true
|
|
|
|
jobs:
|
|
|
|
build-uwp:
|
|
name: Generate ${{ github.event.inputs.buildConfiguration }} ${{ github.event.inputs.buildPlatform }} UWP
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: recursive
|
|
|
|
- name: Check Valid Version Tags
|
|
id: valid-tags
|
|
shell: bash
|
|
run: |
|
|
echo "count=$(git tag -l 'v[0-9]*' | wc -l | tr -d ' ')" >> $GITHUB_OUTPUT # $env:GITHUB_OUTPUT on pwsh
|
|
|
|
- name: Fetch upstream tags # required for git describe to return a valid version on a new fork
|
|
if: ${{ steps.valid-tags.outputs.count == '0' }}
|
|
run: |
|
|
# TODO: should try to fetch tags from whereever this repo was forked from before fetching from official repo
|
|
git remote add upstream https://github.com/hrydgard/ppsspp.git # fetching from official repo as a fallback
|
|
git fetch --deepen=15000 --no-recurse-submodules --tags upstream || exit 0
|
|
|
|
- name: Add MSBuild to PATH
|
|
uses: microsoft/setup-msbuild@v2
|
|
|
|
#- 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 "count=${{steps.valid-tags.outputs.count}}"
|
|
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=${{ github.event.inputs.signedPackage }} /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=${{ github.event.inputs.signedPackage }} /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@v4
|
|
with:
|
|
name: UWP-${{ github.event.inputs.buildConfiguration }}-${{ github.event.inputs.buildPlatform }} build
|
|
path: ppsspp/
|