mirror of
https://github.com/izzy2lost/RetroArch.git
synced 2026-03-26 16:42:27 -07:00
113 lines
4.7 KiB
YAML
113 lines
4.7 KiB
YAML
name: RetroArch Angle Builder
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag_name:
|
|
description: 'Tag Name'
|
|
required: true
|
|
default: 'v1.0.0'
|
|
package_name:
|
|
description: 'Package Name'
|
|
required: true
|
|
default: 'RetroArch'
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: windows-latest
|
|
|
|
env:
|
|
SolutionPath: pkg/msvc-uwp/RetroArch-msvcUWP.sln
|
|
Platform: x64
|
|
Configuration: ReleaseANGLE
|
|
BuildMode: SideLoadOnly
|
|
AppxBundle: Never
|
|
ProjectPath: pkg/msvc-uwp/RetroArch-msvcUWP/RetroArch-msvcUWP.vcxproj
|
|
ProjectDirectory: .\pkg/msvc-uwp/RetroArch-msvcUWP
|
|
PackageOutputRootDir: C:\AppPackage
|
|
PackageOutputDir: RetroArch
|
|
|
|
steps:
|
|
- name: Add msbuild to PATH
|
|
uses: microsoft/setup-msbuild@v1.1
|
|
|
|
- name: Setup NuGet.exe for use with actions
|
|
uses: NuGet/setup-nuget@v1.1.1
|
|
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
fetch-depth: 0
|
|
|
|
- name: Generate Self-Signed Certificate
|
|
id: generate_cert
|
|
run: |
|
|
$cert = New-SelfSignedCertificate -CertStoreLocation "Cert:\CurrentUser\My" -Subject "CN=MyUWPCert" -KeyAlgorithm RSA -KeyLength 2048 -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -KeyExportPolicy Exportable -NotAfter (Get-Date).AddYears(1) -Type CodeSigningCert
|
|
echo "THUMBPRINT=$($cert.Thumbprint)" >> $env:GITHUB_ENV
|
|
shell: pwsh
|
|
|
|
- name: Set Package Name
|
|
id: set_package_name
|
|
run: |
|
|
echo "PACKAGE_NAME=${{ github.event.inputs.package_name }}_${{ github.event.inputs.tag_name }}" >> $GITHUB_ENV
|
|
|
|
- name: Download and Extract File
|
|
run: |
|
|
Invoke-WebRequest -Uri "https://drive.google.com/uc?export=download&id=1bZWta3dHaHQt4jTMnN9EK2-eMUJr6-jS" -OutFile "downloaded_file.zip"
|
|
Expand-Archive -Path "downloaded_file.zip" -DestinationPath "pkg/msvc-uwp/RetroArch-msvcUWP/cores/x64/cores" -Force
|
|
Remove-Item "pkg/msvc-uwp/RetroArch-msvcUWP/cores/x64/cores/.empty" -Force
|
|
shell: pwsh
|
|
|
|
- name: App Build
|
|
run: |
|
|
msbuild $env:SolutionPath `
|
|
/p:Platform=$env:Platform `
|
|
/p:Configuration=$env:Configuration `
|
|
/p:UapAppxPackageBuildMode=$env:BuildMode `
|
|
/p:AppxBundle=$env:AppxBundle `
|
|
/p:PackageCertificateThumbprint="${{ env.THUMBPRINT }}" `
|
|
/p:AppxPackageTestDir="${{ env.PackageOutputRootDir }}\${{ env.PACKAGE_NAME }}" `
|
|
/p:AppxPackageSigningEnabled=true `
|
|
/restore
|
|
shell: pwsh
|
|
|
|
- name: Clean the Package
|
|
run: |
|
|
$PackagePath = "${{ env.PackageOutputRootDir }}\${{ env.PACKAGE_NAME }}"
|
|
if (Test-Path $PackagePath) {
|
|
Write-Host "Cleaning package directory: $PackagePath"
|
|
Remove-Item -Recurse -path "$PackagePath\Add-AppDevPackage.resources" -ErrorAction SilentlyContinue
|
|
Remove-Item -Recurse -path "$PackagePath\TelemetryDependencies" -ErrorAction SilentlyContinue
|
|
Remove-Item -Recurse -path "$PackagePath\Dependencies\arm" -ErrorAction SilentlyContinue
|
|
Remove-Item -Recurse -path "$PackagePath\Dependencies\arm64" -ErrorAction SilentlyContinue
|
|
Remove-Item -Recurse -path "$PackagePath\Dependencies\x86" -ErrorAction SilentlyContinue
|
|
Remove-Item -Recurse -path "$PackagePath\Dependencies\Win32" -ErrorAction SilentlyContinue
|
|
Remove-Item -path "$PackagePath\Add-AppDevPackage.ps1" -ErrorAction SilentlyContinue
|
|
Remove-Item -Recurse -path "$PackagePath\Install.ps1" -ErrorAction SilentlyContinue
|
|
} else {
|
|
Write-Host "Package path does not exist: $PackagePath"
|
|
exit 1
|
|
}
|
|
shell: pwsh
|
|
|
|
- name: Create Archive
|
|
run: |
|
|
$PackagePath = "${{ env.PackageOutputRootDir }}\${{ env.PACKAGE_NAME }}"
|
|
if (Test-Path $PackagePath) {
|
|
Write-Host "Creating archive for: $PackagePath"
|
|
Compress-Archive -Path "$PackagePath\*" -DestinationPath "${{ env.PackageOutputRootDir }}\${{ env.PACKAGE_NAME }}.zip"
|
|
Write-Host "Contents of package output directory after archiving:"
|
|
Get-ChildItem -Path "${{ env.PackageOutputRootDir }}" -Recurse
|
|
} else {
|
|
Write-Host "Package path does not exist for archiving: $PackagePath"
|
|
exit 1
|
|
}
|
|
shell: pwsh
|
|
|
|
- name: Upload Build Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ github.event.inputs.package_name }} Build
|
|
path: ${{ env.PackageOutputRootDir }}\${{ env.PACKAGE_NAME }}
|