Skip to content

Add automatic merge flow from main to feature/net11-scouting #19281

@T-Gro

Description

@T-Gro

Task

Add a merge flow configuration so that changes pushed to main are automatically merged into feature/net11-scouting, while excluding files that the scouting branch manages independently (SDK versions, dependency versions, TFM).

Exact change

Edit .config/service-branch-merge.json and add the following entry at the end of the "merge-flow-configurations" object (after the "release/dev18.0" entry):

"main": {
    "MergeToBranch": "feature/net11-scouting",
    "ExtraSwitches": "-QuietComments",
    "ResetToTargetPaths": [
        "global.json",
        "eng/Version.Details.xml",
        "eng/Version.Details.props",
        "eng/Versions.props",
        "eng/common/**",
        "eng/TargetFrameworks.props"
    ]
}

The full file should look like:

{
    "merge-flow-configurations": {
        "release/dev17.12": {
            "MergeToBranch": "release/dev17.13",
            "ExtraSwitches": "-QuietComments"
        },
        "release/dev17.13": {
            "MergeToBranch": "release/dev17.14",
            "ExtraSwitches": "-QuietComments"
        },
        "release/dev17.14": {
            "MergeToBranch": "release/dev18.0",
            "ExtraSwitches": "-QuietComments"
        },
        "release/dev18.0": {
            "MergeToBranch": "main",
            "ExtraSwitches": "-QuietComments"
        },
        "main": {
            "MergeToBranch": "feature/net11-scouting",
            "ExtraSwitches": "-QuietComments",
            "ResetToTargetPaths": [
                "global.json",
                "eng/Version.Details.xml",
                "eng/Version.Details.props",
                "eng/Versions.props",
                "eng/common/**",
                "eng/TargetFrameworks.props"
            ]
        }
    }
}

Why these specific exclusions

The feature/net11-scouting branch has its own darc subscription for arcade (.NET Eng - Latest) and its own TFM (net11.0). These files must NOT be overwritten by main's .NET 10 values:

File Reason
global.json SDK version managed by arcade-latest darc subscription
eng/Version.Details.xml Dependency SHAs/versions from the net11 arcade channel
eng/Version.Details.props Version properties from dependency updates
eng/Versions.props Package versions from dependency flow
eng/common/** Arcade shared infrastructure (updated by arcade subscription)
eng/TargetFrameworks.props The single source of truth TFM — set to net11.0

All other eng/ files (targets, templates, build props, scripts) should flow from main — they contain real code changes.

Workflow

The existing .github/workflows/branch-merge.yml already triggers on main pushes, so no workflow YAML changes are needed.

No other files need to change.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

New

Relationships

None yet

Development

No branches or pull requests

Issue actions