You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update ReleaseProcess.md to reference correct pipeline files
- Changed azure-pipelines-internal.yml to ci-official.yml for build/pack
- Added ci-official-release.yml for publishing phase
- Updated documentation to reflect two-phase release process
Co-authored-by: rmarinho <1235097+rmarinho@users.noreply.github.com>
Copy file name to clipboardExpand all lines: docs/ReleaseProcess.md
+14-7Lines changed: 14 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,15 @@ This document describes the .NET MAUI release process, which uses the Arcade SDK
4
4
5
5
## Overview
6
6
7
-
The .NET MAUI release process uses `azure-pipelines-internal.yml` for building, packing, and publishing packages.
7
+
The .NET MAUI release process consists of two main phases:
8
+
1. Building and packing using `ci-official.yml`
9
+
2. Publishing to NuGet.org and Workload Set channels using `ci-official-release.yml`
8
10
9
11
This process leverages the [.NET Arcade infrastructure](https://github.com/dotnet/arcade), which is a set of shared tools and services used across the .NET ecosystem to standardize build processes, dependency management, and package publishing.
10
12
11
-
## Build and Pack Pipeline (`azure-pipelines-internal.yml`)
13
+
## Build and Pack Pipeline (`ci-official.yml`)
12
14
13
-
The `azure-pipelines-internal.yml` pipeline is responsible for building, packing, and signing the .NET MAUI packages and workloads. This pipeline runs automatically on a schedule (daily at 5:00 UTC) for the main branch and is also triggered on commits to main, release branches, and tags. The pipeline runs in the internal Azure DevOps environment ([dnceng/internal](https://dev.azure.com/dnceng/internal/_git/dotnet-maui)) where it has access to signing certificates and secured resources.
15
+
The `ci-official.yml` pipeline is responsible for building, packing, and signing the .NET MAUI packages and workloads. This pipeline runs automatically on a schedule (daily at 5:00 UTC) for the main branch and is also triggered on commits to main, release branches, and tags. The pipeline runs in the internal Azure DevOps environment ([dnceng/internal](https://dev.azure.com/dnceng/internal/_git/dotnet-maui)) where it has access to signing certificates and secured resources.
14
16
15
17
### Key Steps in Build and Pack Pipeline
16
18
@@ -36,19 +38,24 @@ The `azure-pipelines-internal.yml` pipeline is responsible for building, packing
36
38
37
39
## Release and Publishing
38
40
39
-
The `azure-pipelines-internal.yml` pipeline handles both building and publishing to the appropriate channels. Publishing happens automatically after successful build and signing, with packages being published to internal feeds and registered in the Build Asset Registry (BAR) using Darc.
41
+
The release process is split into two pipelines:
42
+
-`ci-official.yml` handles building, packing, and signing
43
+
-`ci-official-release.yml` handles publishing to NuGet.org and Workload Set channels
44
+
45
+
After successful build and signing, packages are published to internal feeds and registered in the Build Asset Registry (BAR) using Darc.
40
46
41
47
## Release Flow
42
48
43
49
The complete release process follows these steps:
44
50
45
-
1. Build and package using `azure-pipelines-internal.yml`
51
+
1. Build and package using `ci-official.yml`
46
52
- This happens automatically on the main branch and release branches
47
53
- The build produces NuGet packages and workload manifests
48
54
- The build is assigned a BAR ID in Maestro
49
55
- All assets are published to internal feeds and registered in the BAR using Darc
50
56
51
-
2. Packages are published to appropriate channels:
57
+
2. Publish using `ci-official-release.yml`
58
+
- This pipeline is manually triggered with the commit hash
52
59
- Published to internal feeds for consumption by other .NET repositories
53
60
- The workload set is published to the appropriate .NET SDK workload channel
54
61
- After required approvals, packages are published to NuGet.org
@@ -70,7 +77,7 @@ The .NET MAUI release process operates using two repositories:
70
77
- An internal mirror of the GitHub repository
71
78
- Used for official builds, signing, and release processes
72
79
- Contains the same code but runs in a secured environment with access to signing certificates and internal resources
73
-
- The `azure-pipelines-internal.yml`pipeline runs against this mirror
80
+
- The `ci-official.yml` and `ci-official-release.yml`pipelines run against this mirror
74
81
75
82
The use of the internal mirror ensures that the signing process and access to internal feeds are properly secured while still maintaining an open-source development model in the public repository. Changes are synchronized from the public repository to the internal mirror, ensuring that the released packages contain the same code that is publicly visible.
0 commit comments