-
Notifications
You must be signed in to change notification settings - Fork 518
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CI] Add Prepare Release and VS Insertion stages (#12015)
Context: xamarin/yaml-templates#117 Updates the .NET 6 NuGet packaging steps to exclude package metadata, as the .msi conversion tooling does not process .nupkg file names with the `+sha.commit` metadata. Two new stages have been added to facilitate the Visual Studio setup authoring process. The first stage named "Prepare Release" will sign the .NET 6 NuGet package content (inside and out), convert relevant packages to .msi installers, generate Visual Studio manifests for the .msi installers, and push the signed packages to the `xamarin-impl` feed. The new `SignList.xml` file is required for our NuGet signing templates. The new `xamarin-workload.props` file contains version information and other metadata required to generate a Visual Studio manifest. The second stage starts with a [manual validation task][0]. This task will pause and wait for someone to click a "Resume" or "Reject" button that will appear on the pipeline UI. This task is configured to be rejected after waiting for two days, but it can be manually re-ran at a later date if we want to trigger VS insertion for an older build. If the manual validation task is approved, a VS Drop will be created containing all .NET 6 .msi files. This Drop URL can then be used to update our component versions in Visual Studio. This last piece is currently manual as we will initially be introducing new components, however we should be able to automate VS PR creation in the future. [0]: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/manual-validation?view=azure-devops&tabs=yaml
- Loading branch information
Showing
14 changed files
with
154 additions
and
70 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<Project> | ||
<!-- Do not sign files that already have a signature --> | ||
<ItemGroup> | ||
<Skip Include="Mono.Options.dll" /> | ||
<Skip Include="System.Reflection.MetadataLoadContext.dll" /> | ||
</ItemGroup> | ||
|
||
<!--ItemGroup> | ||
<ThirdParty Include="" /> | ||
</ItemGroup--> | ||
|
||
<ItemGroup> | ||
<FirstParty Include="bgen.dll" /> | ||
<FirstParty Include="dotnet-linker.dll" /> | ||
<FirstParty Include="Xamarin.*.dll" /> | ||
<!-- mlaunch.app MonoBundle content--> | ||
<FirstParty Include="mlaunch.exe" /> | ||
<FirstParty Include="Mono.Security.dll" /> | ||
<FirstParty Include="mscorlib.dll" /> | ||
<FirstParty Include="System.Core.dll" /> | ||
<FirstParty Include="System.dll" /> | ||
<FirstParty Include="System.Numerics.dll" /> | ||
<FirstParty Include="System.Xml.dll" /> | ||
</ItemGroup> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project> | ||
<PropertyGroup> | ||
<TargetName>Microsoft.NET.Sdk.MaciOS.Workload</TargetName> | ||
</PropertyGroup> | ||
<ItemGroup> | ||
<!-- Shorten package names to avoid long path caching issues in Visual Studio --> | ||
<ShortNames Include="@PACK_VERSION_LONG@"> | ||
<Replacement>@PACK_VERSION_SHORT@</Replacement> | ||
</ShortNames> | ||
<ComponentResources Include="ios" Category=".NET" Title=".NET SDK for iOS" Description=".NET SDK Workload for building iOS applications."/> | ||
<ComponentVersions Include="ios" Version="@IOS_WORKLOAD_VERSION@" /> | ||
<ComponentResources Include="maccatalyst" Category=".NET" Title=".NET SDK for Mac Catalyst" Description=".NET SDK Workload for building macOS applications with Mac Catalyst."/> | ||
<ComponentVersions Include="maccatalyst" Version="@MACCATALYST_WORKLOAD_VERSION@" /> | ||
</ItemGroup> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
"version": "@VERSION@", | ||
"workloads": { | ||
"@PLATFORM_LOWERCASE@": { | ||
"description": "Microsoft @PLATFORM@ SDK for .NET", | ||
"description": ".NET SDK Workload for building macOS applications with @PLATFORM@.", | ||
"packs": [ | ||
"Microsoft.@[email protected]", | ||
"Microsoft.@[email protected]", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
"version": "@VERSION@", | ||
"workloads": { | ||
"@PLATFORM_LOWERCASE@": { | ||
"description": "Microsoft @PLATFORM@ SDK for .NET", | ||
"description": ".NET SDK Workload for building @PLATFORM@ applications.", | ||
"packs": [ | ||
"Microsoft.@[email protected]", | ||
"Microsoft.@[email protected]", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
"version": "@VERSION@", | ||
"workloads": { | ||
"@PLATFORM_LOWERCASE@": { | ||
"description": "Microsoft @PLATFORM@ SDK for .NET", | ||
"description": ".NET SDK Workload for building @PLATFORM@ applications.", | ||
"packs": [ | ||
"Microsoft.@[email protected]", | ||
"Microsoft.@[email protected]", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
"version": "@VERSION@", | ||
"workloads": { | ||
"@PLATFORM_LOWERCASE@": { | ||
"description": "Microsoft @PLATFORM@ SDK for .NET", | ||
"description": ".NET SDK Workload for building @PLATFORM@ applications.", | ||
"packs": [ | ||
"Microsoft.@[email protected]", | ||
"Microsoft.@[email protected]", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
66 changes: 66 additions & 0 deletions
66
tools/devops/automation/templates/release/vs-insertion-prep.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
parameters: | ||
- name: enableDotnet | ||
type: boolean | ||
default: true | ||
|
||
- name: dependsOn | ||
type: string | ||
default: build_packages | ||
|
||
stages: | ||
- stage: prepare_release | ||
displayName: Prepare Release | ||
dependsOn: ${{ parameters.dependsOn }} | ||
condition: and(or(eq(dependencies.${{ parameters.dependsOn }}.result, 'Succeeded'), eq(dependencies.${{ parameters.dependsOn }}.result, 'SucceededWithIssues')), eq(variables.IsPRBuild, 'False'), eq(${{ parameters.enableDotnet }}, true)) | ||
jobs: | ||
# Check - "xamarin-macios (Prepare Release Sign NuGets)" | ||
- template: sign-artifacts/jobs/v2.yml@templates | ||
parameters: | ||
artifactName: package | ||
signType: Real | ||
usePipelineArtifactTasks: true | ||
|
||
# Check - "xamarin-macios (Prepare Release Convert NuGet to MSI)" | ||
- template: nuget-msi-convert/job/v1.yml@templates | ||
parameters: | ||
yamlResourceName: templates | ||
dependsOn: signing | ||
artifactName: nuget-signed | ||
artifactPatterns: | | ||
Microsoft.NET.Sdk.iOS.Manifest*.nupkg | ||
Microsoft.NET.Sdk.MacCatalyst.Manifest*.nupkg | ||
Microsoft.iOS*.nupkg | ||
Microsoft.MacCatalyst*.nupkg | ||
propsArtifactName: package | ||
signType: Real | ||
|
||
# Check - "xamarin-macios (Prepare Release Push NuGets)" | ||
- job: push_signed_nugets | ||
displayName: Push NuGets | ||
dependsOn: signing | ||
variables: | ||
skipNugetSecurityAnalysis: true | ||
pool: | ||
vmImage: macOS-10.15 | ||
steps: | ||
- task: DownloadPipelineArtifact@2 | ||
inputs: | ||
artifactName: nuget-signed | ||
downloadPath: $(Build.SourcesDirectory)/package | ||
patterns: | | ||
*.nupkg | ||
- task: NuGetCommand@2 | ||
displayName: Publish Nugets to xamarin-impl | ||
inputs: | ||
command: push | ||
packagesToPush: $(Build.SourcesDirectory)/package/*.nupkg | ||
nuGetFeedType: external | ||
publishFeedCredentials: xamarin-impl public feed | ||
|
||
# Check - "xamarin-macios (VS Insertion Wait For Approval)" | ||
# Check - "xamarin-macios (VS Insertion Create VS Drop and Open PR)" | ||
- template: vs-insertion/stage/v1.yml@templates | ||
parameters: | ||
dependsOn: prepare_release | ||
condition: eq(variables.IsPRBuild, 'False') |
09f911b
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ [CI Build] Tests failed on Build ❌
Tests failed on Build.
API diff
✅ API Diff from stable
View API diff
API & Generator diff
✅ API Diff (from PR only) (no change)
✅ Generator Diff (no change)
Packages generated
View packages
Test results
1 tests failed, 220 tests passed.
Failed tests
Pipeline on Agent XAMBOT-1030.BigSur'
[CI] Add Prepare Release and VS Insertion stages (#12015)
09f911b
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔥 Tests failed catastrophically on VSTS: device tests tvOS 🔥
Not enough free space in the host.
Pipeline on Agent
[CI] Add Prepare Release and VS Insertion stages (#12015)
09f911b
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Results were skipped for this run due to provisioning problems Azure Devops. Please contact the bot administrator.
Pipeline on Agent
[CI] Add Prepare Release and VS Insertion stages (#12015)
09f911b
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Results were skipped for this run due to provisioning problems Azure Devops. Please contact the bot administrator.
Pipeline on Agent
[CI] Add Prepare Release and VS Insertion stages (#12015)
09f911b
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Tests passed on macOS Mac Catalina (10.15) ✅
Tests passed
All tests on macOS X Mac Catalina (10.15) passed.
Pipeline on Agent
[CI] Add Prepare Release and VS Insertion stages (#12015)
09f911b
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Tests passed on macOS Mac Mojave (10.14) ✅
Tests passed
All tests on macOS X Mac Mojave (10.14) passed.
Pipeline on Agent
[CI] Add Prepare Release and VS Insertion stages (#12015)
09f911b
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Tests passed on macOS Mac High Sierra (10.13) ✅
Tests passed
All tests on macOS X Mac High Sierra (10.13) passed.
Pipeline on Agent
[CI] Add Prepare Release and VS Insertion stages (#12015)
09f911b
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Results were skipped for this run due to provisioning problems Azure Devops. Please contact the bot administrator.
Pipeline on Agent
[CI] Add Prepare Release and VS Insertion stages (#12015)