From cb36ce98c129f937ee117a16e164504cc9dfd995 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Thu, 25 Jun 2026 14:36:10 -0500 Subject: [PATCH 1/5] [WIP] Test v5 nuget-msi-convert (WiX 6 migration) Smoke-test the WiX 3 -> WiX 6.0.3-dotnet.4 migration of the nuget-msi-convert template in Xamarin.yaml-templates (PR #752740, branch jonathanpeppers-nuget-msi-convert-v5). Adds a temporary second repository resource `yaml-templates-v5` pinned to the feature branch, and switches the nuget-msi-convert template reference from `v4.yml@yaml-templates` to `v5.yml@yaml-templates-v5`. All other templates (sign-artifacts, policheck, build-summary) continue to consume yaml-templates@main, so this is a single-template swap. Not to be merged: revert once the Xamarin.yaml-templates v5 PR lands. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build-tools/automation/azure-pipelines.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 838d197661f..fb18bb07179 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -21,6 +21,13 @@ resources: type: git name: DevDiv/Xamarin.yaml-templates ref: refs/heads/main + # TODO: Temporary feature branch to smoke-test the WiX 6 migration of nuget-msi-convert + # (Xamarin.yaml-templates PR #752740). Revert this back to using yaml-templates@main + # once that PR merges. + - repository: yaml-templates-v5 + type: git + name: DevDiv/Xamarin.yaml-templates + ref: refs/heads/jonathanpeppers-nuget-msi-convert-v5 - repository: maui type: github name: dotnet/maui @@ -75,6 +82,7 @@ extends: sourceRepositoriesToScan: exclude: - repository: yaml-templates + - repository: yaml-templates-v5 - repository: maui suppression: suppressionFile: $(Build.SourcesDirectory)\.gdn\.gdnsuppress @@ -274,9 +282,9 @@ extends: timeoutInMinutes: 120 # Check - "Xamarin.Android (Prepare .NET Release Convert NuGet to MSI)" - - template: nuget-msi-convert/job/v4.yml@yaml-templates + - template: nuget-msi-convert/job/v5.yml@yaml-templates-v5 parameters: - yamlResourceName: yaml-templates + yamlResourceName: yaml-templates-v5 dependsOn: sign_net_mac_win artifactName: nuget-signed artifactPatterns: | @@ -375,7 +383,7 @@ extends: Write-Host "##vso[task.setvariable variable=ReleaseDropPrefix]$dropPrefix" displayName: Set variable ReleaseDropPrefix - # Download nugets drop created by nuget-msi-convert/job/v4.yml and publish to maestro + # Download nugets drop created by nuget-msi-convert/job/v5.yml and publish to maestro - task: ms-vscs-artifact.build-tasks.artifactDropDownloadTask-1.artifactDropDownloadTask@1 displayName: Download $(ReleaseDropPrefix)/nugets inputs: From 9d863339f7e6cf8215c47b620ce316d3bb218e05 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Thu, 25 Jun 2026 14:38:02 -0500 Subject: [PATCH 2/5] Simplify: just retarget yaml-templates ref to feature branch Instead of cloning the yaml-templates resource into a second entry, point the existing one at the v5 feature branch. The other templates (sign-artifacts/v4.yml, security/policheck/v3.yml, build-summary/v1.yml) are present on the feature branch too, so this is safe for the smoke test. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build-tools/automation/azure-pipelines.yaml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index fb18bb07179..fd88cfa4b21 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -20,13 +20,9 @@ resources: - repository: yaml-templates type: git name: DevDiv/Xamarin.yaml-templates - ref: refs/heads/main - # TODO: Temporary feature branch to smoke-test the WiX 6 migration of nuget-msi-convert - # (Xamarin.yaml-templates PR #752740). Revert this back to using yaml-templates@main - # once that PR merges. - - repository: yaml-templates-v5 - type: git - name: DevDiv/Xamarin.yaml-templates + # TODO: Temporary feature branch to smoke-test the WiX 6 migration of + # nuget-msi-convert (Xamarin.yaml-templates PR #752740). + # Revert back to refs/heads/main once that PR merges. ref: refs/heads/jonathanpeppers-nuget-msi-convert-v5 - repository: maui type: github @@ -82,7 +78,6 @@ extends: sourceRepositoriesToScan: exclude: - repository: yaml-templates - - repository: yaml-templates-v5 - repository: maui suppression: suppressionFile: $(Build.SourcesDirectory)\.gdn\.gdnsuppress @@ -282,9 +277,9 @@ extends: timeoutInMinutes: 120 # Check - "Xamarin.Android (Prepare .NET Release Convert NuGet to MSI)" - - template: nuget-msi-convert/job/v5.yml@yaml-templates-v5 + - template: nuget-msi-convert/job/v5.yml@yaml-templates parameters: - yamlResourceName: yaml-templates-v5 + yamlResourceName: yaml-templates dependsOn: sign_net_mac_win artifactName: nuget-signed artifactPatterns: | From 63d92727addab67a06215f38b3a85d21b1e5acc2 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Tue, 30 Jun 2026 07:50:34 -0500 Subject: [PATCH 3/5] Point yaml-templates back to main now that v5 PR merged The WiX 6 migration of nuget-msi-convert (Xamarin.yaml-templates PR #752740) has merged to main, so we can drop the temporary feature-branch pin. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build-tools/automation/azure-pipelines.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index fd88cfa4b21..3c868ae2d18 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -20,10 +20,7 @@ resources: - repository: yaml-templates type: git name: DevDiv/Xamarin.yaml-templates - # TODO: Temporary feature branch to smoke-test the WiX 6 migration of - # nuget-msi-convert (Xamarin.yaml-templates PR #752740). - # Revert back to refs/heads/main once that PR merges. - ref: refs/heads/jonathanpeppers-nuget-msi-convert-v5 + ref: refs/heads/main - repository: maui type: github name: dotnet/maui From 530120a69e7bed968b1bb30b2aeaf25f1d70f804 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Tue, 30 Jun 2026 09:16:11 -0500 Subject: [PATCH 4/5] Repoint yaml-templates to bundledtfm fix branch Xamarin.yaml-templates PR #754224 adds a fallback for BundledNETCoreAppTargetFramework on .NET 10 SDK (which only defines the *Version* property). Without this, the inner msi.csproj builds in _GenerateManifestsAndMsiNuGets fail with NETSDK1013. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build-tools/automation/azure-pipelines.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 3c868ae2d18..dcaa262f101 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -20,7 +20,10 @@ resources: - repository: yaml-templates type: git name: DevDiv/Xamarin.yaml-templates - ref: refs/heads/main + # TODO: Temporary feature branch for the BundledNETCoreAppTargetFramework + # fix (Xamarin.yaml-templates PR #754224). Revert back to refs/heads/main + # once that PR merges. + ref: refs/heads/jonathanpeppers-nuget-msi-convert-v5-bundledtfm - repository: maui type: github name: dotnet/maui From 7dc69955a8505fd351d8d76b2ffb4358052c47bc Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Tue, 30 Jun 2026 09:48:33 -0500 Subject: [PATCH 5/5] Point yaml-templates back to main now that BundledTFM fix merged Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build-tools/automation/azure-pipelines.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index dcaa262f101..3c868ae2d18 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -20,10 +20,7 @@ resources: - repository: yaml-templates type: git name: DevDiv/Xamarin.yaml-templates - # TODO: Temporary feature branch for the BundledNETCoreAppTargetFramework - # fix (Xamarin.yaml-templates PR #754224). Revert back to refs/heads/main - # once that PR merges. - ref: refs/heads/jonathanpeppers-nuget-msi-convert-v5-bundledtfm + ref: refs/heads/main - repository: maui type: github name: dotnet/maui