Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Sep 24, 2025

Implements automatic calculation of PreReleaseBrandingLabel based on PreReleaseVersionLabel to simplify the release process.

Original issue description:

The branding update code should only have to update the pre-release iteration and pre-release version label. The aspnetcore specific branding label (PreReleaseBrandingLabel) should be calculated off of this. It should be calculated in the following way:

pre-release version label == 'alpha' -> "Alpha $(PreReleaseVersionIteration)"
pre-release version label == 'preview' -> "Preview $(PreReleaseVersionIteration)"
pre-release version label == 'rc' -> "RC $(PreReleaseVersionIteration)"
pre-release version label == 'rtm' -> "RTM"
pre-release version label == 'servicing' -> "Servicing"

Changes Made

  • Modified eng/Versions.props: Replaced manual PreReleaseBrandingLabel setting with automatic conditional calculation using MSBuild properties
  • Updated Documentation: Modified docs/UpdatingMajorVersionAndTFM.md to remove the manual step for updating PreReleaseBrandingLabel

Implementation Details

The new implementation uses MSBuild conditional properties to automatically calculate PreReleaseBrandingLabel:

  • alpha → "Alpha $(PreReleaseVersionIteration)"
  • preview → "Preview $(PreReleaseVersionIteration)"
  • rc → "RC $(PreReleaseVersionIteration)"
  • rtm → "RTM"
  • servicing → "Servicing"

Benefits

  • Simplified Release Process: Developers now only need to update PreReleaseVersionIteration and PreReleaseVersionLabel
  • Reduced Errors: Eliminates the possibility of manually setting incorrect branding labels
  • Consistent Formatting: Ensures branding labels always follow the exact required format
  • Backward Compatible: Current repository state continues to work without any changes needed

Testing

  • ✅ All 5 required mappings verified to work correctly
  • ✅ Tested with different iteration numbers (e.g., Alpha 3, RC 1)
  • ✅ Confirmed current repository state (rc → "RC 1") works as expected
  • ✅ MSBuild property evaluation tested with conditional logic

Fixes #63798

Fixes #63798


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@mmitche
Copy link
Member

mmitche commented Sep 24, 2025

@copilot Please continue.

Copy link
Contributor Author

Copilot AI commented Sep 24, 2025

@copilot Please continue.

I've implemented the automatic calculation of PreReleaseBrandingLabel as requested. The implementation uses MSBuild conditional properties in eng/Versions.props to calculate the branding label based on PreReleaseVersionLabel:

  • alpha → "Alpha $(PreReleaseVersionIteration)"
  • preview → "Preview $(PreReleaseVersionIteration)"
  • rc → "RC $(PreReleaseVersionIteration)"
  • rtm → "RTM"
  • servicing → "Servicing"

All test cases pass and the current repository state (rc → "RC 1") continues to work correctly. I also updated the documentation to reflect that PreReleaseBrandingLabel no longer needs manual updates. Commit: 366cc88

@Copilot Copilot AI changed the title [WIP] Avoid having to update PreReleaseBrandingLabel for each release Avoid having to update PreReleaseBrandingLabel for each release Sep 24, 2025
Copilot finished work on behalf of mmitche September 24, 2025 21:45
@mmitche mmitche marked this pull request as ready for review September 24, 2025 22:15
@mmitche mmitche requested review from wtgodbe, a team and captainsafia as code owners September 24, 2025 22:15
@Copilot Copilot AI review requested due to automatic review settings September 24, 2025 22:15
Copy link
Contributor

@Copilot 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 automates the calculation of PreReleaseBrandingLabel based on PreReleaseVersionLabel to simplify the release process by eliminating manual updates.

  • Replaces manual PreReleaseBrandingLabel setting with conditional MSBuild properties
  • Updates documentation to reflect the automated process
  • Implements mapping for all five release types (alpha, preview, rc, rtm, servicing)

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
eng/Versions.props Adds conditional MSBuild properties to automatically calculate PreReleaseBrandingLabel based on PreReleaseVersionLabel
docs/UpdatingMajorVersionAndTFM.md Updates documentation to remove manual PreReleaseBrandingLabel update step

@mmitche mmitche enabled auto-merge (squash) October 1, 2025 19:12
@mmitche mmitche merged commit 4f8086c into main Oct 1, 2025
31 checks passed
@mmitche mmitche deleted the copilot/fix-ff9d72f3-5eff-46d8-b1ce-bef2cc4a87f0 branch October 1, 2025 19:57
@dotnet-policy-service dotnet-policy-service bot added this to the 11.0-preview1 milestone Oct 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Avoid having to update PreReleaseBrandingLabel for each release
3 participants