Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 3, 2025

Configure automated merge flows to reset specific files to target branch versions instead of merging them forward. This prevents version metadata and infrastructure files from propagating across release boundaries.

Changes

  • Added -ResetToTargetPaths parameter to all 8 merge flow configurations
  • Configured the following paths to reset to target branch:
    • global.json - SDK version configuration
    • NuGet.config - package source configuration
    • eng/Version.Details.xml - dependency version tracking
    • eng/Versions.props - version properties (for 8.0.x and 9.0.1xx branches)
    • eng/Version.Details.props - consolidated version properties (for 10.0.1xx, 10.0.2xx, and main branches)
    • eng/common/* - arcade infrastructure scripts

Branch-Specific Configuration

Branches 8.0.x through 9.0.1xx use eng/Versions.props:

"release/9.0.1xx": {
    "MergeToBranch": "release/9.0.3xx",
    "ExtraSwitches": "-QuietComments -ResetToTargetPaths global.json;NuGet.config;eng/Version.Details.xml;eng/Versions.props;eng/common/*"
}

Branches 10.0.1xx, 10.0.2xx, and main use eng/Version.Details.props:

"release/10.0.1xx": {
    "MergeToBranch": "release/10.0.2xx",
    "ExtraSwitches": "-QuietComments -ResetToTargetPaths global.json;NuGet.config;eng/Version.Details.xml;eng/Version.Details.props;eng/common/*"
}

Implements functionality from dotnet/arcade#16369.

Original prompt

Add a -ResetToTargetPaths parameter to the github-merge-flow.jsonc file. Per this PR: dotnet/arcade#16369

That will take a semicolon separated list of files we don't want to flow up.

I believe that list to be:

  • nuget.config
  • eng/version.details.props

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Add ResetToTargetPaths parameter to github-merge-flow.jsonc Add -ResetToTargetPaths parameter to github-merge-flow.jsonc Dec 3, 2025
Copilot AI requested a review from marcpopMSFT December 3, 2025 23:41
Copilot finished work on behalf of marcpopMSFT December 3, 2025 23:41
@marcpopMSFT
Copy link
Member

@copilot can you add global.json to all lists. Add Versions.Details.props to 10.0.1xx, 10.0.2xx and main branches. Remove Versions.props for those same three branches as the automated ones moved into the Versions.Details.props

@marcpopMSFT
Copy link
Member

@MiYanni this is what I was referring to earlier. The arcade change is in so we can add this. No idea how to test it outside of merging it though.

Copy link
Contributor Author

Copilot AI commented Dec 4, 2025

@copilot can you add global.json to all lists. Add Versions.Details.props to 10.0.1xx, 10.0.2xx and main branches. Remove Versions.props for those same three branches as the automated ones moved into ...

Done in commit 231d624. Changes made:

  1. Added global.json to all 8 configurations
  2. For branches targeting 10.0.1xx, 10.0.2xx, and main (release/9.0.3xx, release/10.0.1xx, release/10.0.2xx):
    • Added eng/Version.Details.props
    • Removed eng/Versions.props
  3. All other branches continue to use eng/Versions.props

Copilot finished work on behalf of marcpopMSFT December 4, 2025 23:34
@marcpopMSFT marcpopMSFT marked this pull request as ready for review December 5, 2025 19:19
Copilot AI review requested due to automatic review settings December 5, 2025 19:19
Copy link
Member

@marcpopMSFT marcpopMSFT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed the capitalization matches what's in the repo. Also confirmed the transition from 9.0.3xx to 10.0.1xx switches from Versions.props to Version.details.props as expected. This looks right but no clue how to test besides merging and doing runs.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR configures automated merge flows to prevent version metadata and infrastructure files from propagating across release boundaries. The -ResetToTargetPaths parameter is added to all 8 merge flow configurations, ensuring that each branch maintains its own version identity and infrastructure state during automated merges.

  • Added -ResetToTargetPaths parameter to all merge flow configurations with appropriate file paths
  • Configured branch-specific version files: older branches (8.0.x-9.0.1xx) use eng/Versions.props, while newer branches (10.0.1xx+) use eng/Version.Details.props
  • Applied consistent file exclusion list across all flows: global.json, NuGet.config, eng/Version.Details.xml, version props files, and eng/common/*

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants