Commit 5219b88
Adopt arcade inter-branch merge workflow for main → net10.0 and main → net11.0 (dotnet#34144)
<!-- Please let the below note in for people that find this PR -->
> [!NOTE]
> Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting
artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
Thank you!
Adopts the shared `dotnet/arcade` inter-branch merge infrastructure
(used by 20+ dotnet repos including runtime, aspnetcore, sdk, efcore,
msbuild) to replace our custom weekly schedule-based workflow and manual
merge script.
### Changes
- **New** `.github/workflows/merge-main-to-net10.yml` — merges `main` →
`net10.0` using arcade
- **New** `.github/workflows/merge-main-to-net11.yml` — merges `main` →
`net11.0` using arcade
- **New** `github-merge-flow-net10.jsonc` — config for main → net10.0
- **New** `github-merge-flow-net11.jsonc` — config for main → net11.0
- **Removed** `.github/workflows/weekly-branch-merge.yml` — replaced by
above
- **Removed** `.github/scripts/MergeBranchAndCreatePR.ps1` — no longer
needed
### Why two workflows?
The arcade infrastructure supports one `MergeToBranch` per source branch
per config file. To merge `main` into both `net10.0` and `net11.0`
independently (not chained), we use two workflows with separate config
files.
### How it works
1. A PR merges to `main`
2. Both workflows trigger simultaneously
3. Each creates (or updates) a merge PR: `merge/main-to-net10.0` →
`net10.0` and `merge/main-to-net11.0` → `net11.0`
4. The merge PRs wait for human review — nothing is auto-merged
5. `ResetToTargetPaths` auto-resets version files (`global.json`,
`eng/Versions.props`, etc.) to avoid common conflicts
### Triggers
| Trigger | Purpose |
|---|---|
| `push` to `main` | Immediate — runs on every merge to main |
| `schedule` (daily 3 AM UTC) | Safety net — catches missed push events
|
| `workflow_dispatch` | Manual — run on-demand from Actions UI |
### Comparison
| | Old | New |
|---|---|---|
| Trigger | Weekly cron (Mondays) | On push + daily cron + manual |
| Merge topology | Custom script | Arcade shared infrastructure |
| Version file conflicts | Manual resolution | `ResetToTargetPaths`
auto-resets |
| Maestro-only commits | Creates PR anyway | Skipped automatically |
| Notifications | Default @-mentions | `-QuietComments` suppresses noise
|
| Existing PR handling | Fails if PR exists | Updates existing PR in
place |
| Maintenance | Custom MAUI-only script | Centralized in arcade, shared
across 20+ repos |
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent dea56cb commit 5219b88
6 files changed
Lines changed: 88 additions & 402 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
0 commit comments