Skip to content

Update main_build-winui.yml #2

Update main_build-winui.yml

Update main_build-winui.yml #2

name: Build WinUI3 Project
on:
workflow_dispatch:
push:
branches:
- main
- add-winui
paths:
- 'src/WinUI/**/*'
- '.github/workflows/main_build-winui.yml'
env:
SOLUTION_NAME: "src/WinUI/MyDemo.sln"
NUGETCONFIG_PATH: "src/NuGet.Config"
PFX_FILENAME: "MyCodeSignCert.pfx"
TELERIK_USERNAME: ${{ secrets.MyTelerikAccountUsername }} # used by the NuGet.Config file
TELERIK_PASSWORD: ${{ secrets.MyTelerikAccountPassword }} # used by the NuGet.Config file
jobs:
build-windows:
strategy:
matrix:
configuration: [Release]
platform: [x86, x64]
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: '7.0.x'
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.1.3
- name: Restore NuGet packages
shell: pwsh
run: dotnet restore ${{ env.SOLUTION_NAME }} --configfile ${{ env.NUGETCONFIG_PATH }}
# Restore the application to populate the obj folder with RuntimeIdentifiers
- name: Restore RIDs
run: msbuild ${{ env.SOLUTION_NAME }} /t:Restore /p:Configuration=${{ env.CONFIGURATION }}
env:
CONFIGURATION: ${{ matrix.configuration }}
- name: Decode and save the pfx
run: |
$pfx_cert_byte = [System.Convert]::FromBase64String("${{ secrets.BASE64_ENCODED_PFX }}")
$certificatePath = "${{ env.PFX_FILENAME }}"
[IO.File]::WriteAllBytes("$certificatePath", $pfx_cert_byte)
- name: Build and Create MSIX
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="${{ env.PFX_FILENAME }}" /p:PackageCertificatePassword=${{ secrets.PFX_PRIVATE_KEY }} /p:AppxPackageDir="${{ env.APPX_PACKAGE_DIR }}" /p:GenerateAppxPackageOnBuild=${{ env.GENERATE_MSIX }}
env:
GENERATE_MSIX: true
APPX_BUNDLE: Never
APPX_PACKAGE_BUILD_MODE: SideloadOnly
APPX_PACKAGE_DIR: Packages\
CONFIGURATION: ${{ matrix.configuration }}
PLATFORM: ${{ matrix.platform }}
# Delete the pfx file
- name: Remove the pfx
run: Remove-Item -path ${{ env.PFX_FILENAME }}
# Upload the MSIX package
# - name: Upload MSIX package
# uses: actions/upload-artifact@v3
# with:
# name: MSIX Package
# path: ${{ env.SOLUTION_NAME }}\\Packages