feat: add temporary key file for package signing

This commit is contained in:
Zhe Fang
2025-06-12 10:53:51 -04:00
parent 221cd67c39
commit 2404c54bb6
6 changed files with 77 additions and 41 deletions

View File

@@ -5,58 +5,75 @@ name: WinUI 3 MSIX app
on:
push:
branches: [ dev ]
branches: [main]
pull_request:
branches: [ dev ]
branches: [main]
jobs:
build:
strategy:
matrix:
configuration: [Release]
platform: [x86, x64]
platform: [x64, x86]
runs-on: windows-latest # For a list of available runner types, refer to
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
runs-on:
windows-latest # For a list of available runner types, refer to
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
env:
Solution_Name: BetterLyrics.sln # Replace with your solution name, i.e. App1.sln.
Solution_Name: your-solution-name # Replace with your solution name, i.e. App1.sln.
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
# Install the .NET Core workload
- name: Install .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 8.0.x
# Install the .NET Core workload
- name: Install .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
# Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v2
# Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.0.2
- name: Add CommunityToolkit-Labs NuGet source
run: |
dotnet nuget add source https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-Labs/nuget/v3/index.json --name CommunityToolkit-Labs --store-password-in-clear-text
# Add the NuGet source for the CommunityToolkit-Labs
- name: Add CommunityToolkit-Labs NuGet source
run: |
dotnet nuget add source https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-Labs/nuget/v3/index.json --name CommunityToolkit-Labs --store-password-in-clear-text
# Restore the application to populate the obj folder with RuntimeIdentifiers
- name: Restore the application
run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration
env:
Configuration: ${{ matrix.configuration }}
# Restore the application to populate the obj folder with RuntimeIdentifiers
- name: Restore the application
run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration
env:
Configuration: ${{ matrix.configuration }}
# Create the app package by building and packaging the project
- name: Create the app package
run: msbuild
# Decode the base 64 encoded pfx and save the Signing_Certificate
- name: Decode the pfx
run: |
$pfx_cert_byte = [System.Convert]::FromBase64String("${{ secrets.BASE64_ENCODED_PFX }}")
$certificatePath = "GitHubActionsWorkflow.pfx"
[IO.File]::WriteAllBytes("$certificatePath", $pfx_cert_byte)
# Upload the MSIX package: https://github.com/marketplace/actions/upload-a-build-artifact
- name: Upload MSIX package
uses: actions/upload-artifact@v4
with:
name: MSIX Package
path: ${{ env.Solution_Name }}\\bin
# Create the app package by building and packaging the project
- name: Create the app package
run: msbuild $env:Solution_Name /p:Configuration=$env:Configuration /p:Platform=$env:Platform /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:PackageCertificateKeyFile=GitHubActionsWorkflow.pfx /p:AppxPackageDir="$env:Appx_Package_Dir" /p:GenerateAppxPackageOnBuild=true
env:
Appx_Bundle: Never
Appx_Package_Build_Mode: SideloadOnly
Appx_Package_Dir: Packages\
Configuration: ${{ matrix.configuration }}
Platform: ${{ matrix.platform }}
# Remove the pfx
- name: Remove the pfx
run: Remove-Item -path GitHubActionsWorkflow.pfx
# Upload the MSIX package: https://github.com/marketplace/actions/upload-a-build-artifact
- name: Upload MSIX package
uses: actions/upload-artifact@v2
with:
name: MSIX Package
path: ${{ env.Solution_Name }}\\Packages

View File

@@ -81,7 +81,6 @@
</AppxManifest>
</ItemGroup>
<ItemGroup>
<None Include="BetterLyrics.WinUI3 %28Package%29_TemporaryKey.pfx" />
<Content Include="Images\LargeTile.scale-100.png" />
<Content Include="Images\LargeTile.scale-125.png" />
<Content Include="Images\LargeTile.scale-150.png" />

View File

@@ -0,0 +1 @@
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

View File

@@ -10,7 +10,7 @@
<Identity
Name="37412.BetterLyrics"
Publisher="CN=E1428B0E-DC1D-4EA4-ACB1-4556569D5BA9"
Publisher="CN=Zhe"
Version="1.0.3.0" />
<mp:PhoneIdentity PhoneProductId="ca4a4830-fc19-40d9-b823-53e2bff3d816" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>

View File

@@ -17,10 +17,16 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Labs.WinUI.MarqueeText" Version="0.1.230830" />
<PackageReference Include="CommunityToolkit.Labs.WinUI.OpacityMaskView" Version="0.1.250513-build.2126" />
<PackageReference
Include="CommunityToolkit.Labs.WinUI.OpacityMaskView"
Version="0.1.250513-build.2126"
/>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
<PackageReference Include="CommunityToolkit.WinUI.Behaviors" Version="8.2.250402" />
<PackageReference Include="CommunityToolkit.WinUI.Controls.SettingsControls" Version="8.2.250402" />
<PackageReference
Include="CommunityToolkit.WinUI.Controls.SettingsControls"
Version="8.2.250402"
/>
<PackageReference Include="CommunityToolkit.WinUI.Converters" Version="8.2.250402" />
<PackageReference Include="CommunityToolkit.WinUI.Extensions" Version="8.2.250402" />
<PackageReference Include="CommunityToolkit.WinUI.Helpers" Version="8.2.250402" />
@@ -61,5 +67,17 @@
<ApplicationManifest>app.manifest</ApplicationManifest>
<ApplicationIcon>Logo.ico</ApplicationIcon>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<ShouldCreateLogs>True</ShouldCreateLogs>
<AdvancedSettingsExpanded>False</AdvancedSettingsExpanded>
<UpdateAssemblyVersion>False</UpdateAssemblyVersion>
<UpdateAssemblyFileVersion>False</UpdateAssemblyFileVersion>
<UpdateAssemblyInfoVersion>False</UpdateAssemblyInfoVersion>
<UpdatePackageVersion>True</UpdatePackageVersion>
<AssemblyInfoVersionType>SettingsVersion</AssemblyInfoVersionType>
<InheritWinAppVersionFrom>None</InheritWinAppVersionFrom>
<PackageVersionSettings>AssemblyVersion.None.Beta</PackageVersionSettings>
<Version>2025.6.0-beta-02</Version>
<AssemblyVersion>2025.6.12.1435</AssemblyVersion>
<FileVersion>2025.6.12.1435</FileVersion>
</PropertyGroup>
</Project>

View File

@@ -3,6 +3,7 @@ using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using System.Xml.Linq;
using Microsoft.UI.Dispatching;
using Microsoft.UI.Xaml;
using Microsoft.Windows.AppLifecycle;