diff --git a/.github/steps/install_dependencies/action.yml b/.github/steps/install_dependencies/action.yml
index 752799e1..37437030 100644
--- a/.github/steps/install_dependencies/action.yml
+++ b/.github/steps/install_dependencies/action.yml
@@ -13,7 +13,7 @@ inputs:
sdkVersion:
description: 'The version of the Windows Sdk'
required: false
- default: '19041'
+ default: '22621'
runs:
using: "composite"
@@ -31,30 +31,15 @@ runs:
run: .\.github\Install-WindowsSdkISO.ps1 ${{ inputs.sdkVersion }}
# Run Uno.Check
- - name: Run Uno.Check
+ - name: Install ${{ inputs.target-platform }} Workloads
shell: pwsh
run: |
- dotnet tool install -g uno.check --version 1.17.0-dev.7
- uno-check -v --ci --non-interactive --fix --skip vswin --skip vsmac --skip xcode --skip vswinworkloads --skip androidemulator --skip dotnetnewunotemplates --verbose
- continue-on-error: true
-
- # Install .NET workloads
- - name: Install workloads
- shell: pwsh
- run: dotnet workload install ios maccatalyst android wasm-tools
-
- # Install Node.js
- - name: Setup Node.js environment
- uses: actions/setup-node@v3.8.1
-
- # Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
- - name: Setup MSBuild
- uses: microsoft/setup-msbuild@v1.3.1
-
- - name: Set up dependency caching for faster builds
- uses: actions/cache@v3
- with:
- path: ~/.nuget/packages
- key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
- restore-keys: |
- ${{ runner.os }}-nuget-
+ dotnet tool install -g uno.check
+ ("${{ inputs.target-platform }} ".Split(' ') | ForEach-Object {
+ $target = $_.Replace("_win", "").Replace("_macos", "")
+ if (![string]::IsNullOrEmpty($target)) {
+ echo "target: $target"
+ uno-check -v --ci --non-interactive --fix --target $target --skip vswin --skip vsmac --skip xcode --skip vswinworkloads --skip androidemulator --skip dotnetnewunotemplates
+ echo "uno-check finished for target: $target "
+ }
+ })
diff --git a/.github/workflows/package-windows.yml b/.github/workflows/package-windows.yml
new file mode 100644
index 00000000..e4e995b9
--- /dev/null
+++ b/.github/workflows/package-windows.yml
@@ -0,0 +1,74 @@
+name: Build Windows Packages
+
+on:
+ workflow_dispatch:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+jobs:
+
+ create_package:
+
+ strategy:
+ matrix:
+ configuration: [Release]
+ platform: [x86,x64,ARM64]
+
+ 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_Fullname: src/MZikmund.sln
+ App_Project_Fullname: src/app/MZikmund.App/MZikmund.App.csproj
+ App_Project_Path: src/app/MZikmund.App
+ STEP_TIMEOUT_MINUTES: 60
+
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+
+ - name: Install Dependencies
+ timeout-minutes: ${{ fromJSON(env.STEP_TIMEOUT_MINUTES) }}
+ uses: "./.github/steps/install_dependencies"
+
+ # Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
+ - name: Setup MSBuild
+ uses: microsoft/setup-msbuild@v1.3.1
+
+ # Restore the application to populate the obj folder with RuntimeIdentifiers
+ - name: Restore the application
+ run: msbuild $env:App_Project_Fullname /t:Restore /p:Configuration=$env:Configuration /p:PublishReadyToRun=true
+ env:
+ Configuration: ${{ matrix.configuration }}
+
+ # Create the app package by building and packaging the project
+ - name: Create the app package
+ run: msbuild $env:App_Project_Fullname /p:TargetFramework=net8.0-windows10.0.22621 /p:Configuration=$env:Configuration /p:Platform=$env:Platform /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:AppxPackageDir="$env:Appx_Package_Dir" /p:GenerateAppxPackageOnBuild=true
+ env:
+ Appx_Bundle: Never
+ Appx_Package_Build_Mode: CI
+ Appx_Package_Dir: Packages\
+ Configuration: ${{ matrix.configuration }}
+ Platform: ${{ matrix.platform }}
+
+ # 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_${{ matrix.platform }}
+ path: ${{ env.App_Project_Path }}\\Packages
+
+ merge:
+ runs-on: windows-latest
+ needs: create_package
+ steps:
+ - name: Merge Artifacts
+ uses: actions/upload-artifact/merge@v4
+ with:
+ name: MSIX
+ delete-merged: true
+ pattern: MSIX_Package_*
+ retention-days: 10
\ No newline at end of file
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 563e1840..10ba1ed7 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -21,6 +21,11 @@
-->
$(NoWarn);NU1507;NETSDK1201;PRI257;XAOBS001
Uno0001
+
+
+ 10.0.22621.3233
+ 4.2.2
+