msbuild icon indicating copy to clipboard operation
msbuild copied to clipboard

Release 17.9

Open AR-May opened this issue 2 years ago • 0 comments

(adapted from #9255) This time the vs17.9 msbuild branch would be created much earlier to give us opportunity to take feature PRs.

Preparation for the release:

  • [x] Create vs17.9 branch
  • [x] Modify the VS insertion so that it flows from MSBuild vs17.9 to VS main here.
  • [x] Disable automated run of https://dev.azure.com/devdiv/DevDiv/_release?definitionId=2153&view=mine&_a=releases
  • [x] Add MSBuild main to the experimental VS insertion flow.
  • [x] Create darc channel for VS 17.10 if it doesn't already exist
    darc add-channel --name "VS 17.10"
  • [x] Ping internal "First Responders" Teams channel to get the new channel made available as a promotion target (e.g. https://github.com/dotnet/arcade/issues/12150): https://github.com/dotnet/arcade/pull/12989
  • [x] Remove the main to old release channel default channel
    darc delete-default-channel --repo https://github.com/dotnet/msbuild --branch main --channel "VS 17.9"
  • [x] Associate the main branch with the next release channel
    darc add-default-channel --channel "VS 17.10" --branch main --repo https://github.com/dotnet/msbuild
  • [x] Check subscriptions for the current channel VS 17.9 and update as necessary (for instance, SDK's main branch should usually be updated, whereas release branches often should not be
    darc get-subscriptions --exact --source-repo https://github.com/dotnet/msbuild --channel "VS 17.9"\
  • [x] Update channel VS 17.9 to VS 17.10 for the sdk main subscription
    `darc update-subscription --id sdk_main_branch_id
  • [x] Ensure that the current release channel VS 17.9 is associated with the correct release branch
    darc get-default-channels --source-repo https://github.com/dotnet/msbuild --branch vs17.9
    if it is not, darc add-default-channel --channel "VS 17.9" --branch vs17.9 --repo https://github.com/dotnet/msbuild
  • [x] Fast-forward merge the correct commit (the one that is currently inserted to VS main) to the vs17.9 branch
    git push upstream 797fd829a374a880f63fd4eea4ea6990404c48f4:refs/heads/vs17.9 Note the commit for future steps The branch should point to a good, recent spot, so the final-branding PR goes in on top of the right set of commits.
  • [x] Update the branch merge flow in dotnet/versions to have the currently-in-servicing branches (extend dotnet/versions#867): https://github.com/dotnet/versions/pull/911
  • [x] Fix OptProf data flow for the new vs17.9 branch
    • Run manually OptProf pipeline for vs17.9 ('Run pipeline' in upper right)
    • Run the MSBuild pipeline for vs17.9 without OptProf (set SkipApplyOptimizationData variable in 'Advanced options' section of the 'Run pipeline' menu to true)
    • Run the MSBuild pipeline for vs17.9 with no extra vustomization - OptProf should succeed now
  • [x] Create 17.10 branding PR
  • [x] Create 17.9 localization ticket: https://aka.ms/ceChangeLocConfig (requesting to add localization for 17.9) https://ceapex.visualstudio.com/CEINTL/_workitems/edit/907751. https://ceapex.visualstudio.com/CEINTL/_workitems/edit/931651
  • [x] Enable 17.9 localization - by setting EnableReleaseOneLocBuild to true
  • [x] Disable 17.8 localization - by setting EnableReleaseOneLocBuild to false
  • [x] Merge 17.10 branding PR
  • [x] Create and merge PR including public API baseline package version change (see https://github.com/dotnet/msbuild/pull/8116#discussion_r1049386978): #8949
  • [x] When VS main snaps to 17.9 and updates its version to 17.10, modify the VS insertion so that it flows from MSBuild main to VS main.
  • [x] Create 17.8 localization ticket: https://aka.ms/ceChangeLocConfig (requesting to remove localization for 17.8) https://ceapex.visualstudio.com/CEINTL/_workitems/edit/936778
  • [x] (???) Remove MSBuild main from the experimental VS insertion flow.
  • [x] Update the release-branch insertion release definition to have InsertTargetBranch rel/d17.9.
  • [x] Turn the release pipeline back on.
  • [x] Prepare final branding PR for vs17.9 but ⚠️ DO NOT MERGE IT YET ⚠️:
  • [ ] ~Prepare QB-mode bug for final branding insertion in internal VS repo~
  • [x] Merge final branding to vs17.9 branch
  • [x] Update perfstar MSBuild insertions configuration: example PR
  • [ ] Note down the build (will be helpful for requesting nuget packages publishing): (https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=8436672&view=results)
  • [ ] ~Get QB approval~
  • [x] Merge to VS (babysit the automatically generated VS insertion PR https://devdiv.visualstudio.com/DevDiv/_git/VS/pullrequests for the MSBuild commit noted in above step): https://devdiv.visualstudio.com/DevDiv/_git/VS/pullrequest/518456
  • [ ] Update the PackageValidationBaselineVersion to the latest released version (17.9.0) - this might require temporary addition of build artifacts feed as the new version is not yet added to the official feeds (this is post release). This can trigger a high severity CG error (https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/secure-supply-chain/how-to-securely-configure-package-source-files) - however it should be fine to keep this temporary feed untill the release.
  • [x] Disable the 17.8 localization - by setting EnableReleaseOneLocBuild to false

ASAP On/After GA (based on release schedule (internal) https://dev.azure.com/devdiv/DevDiv/_wiki/wikis/DevDiv.wiki/10097/Dev17-Release):

  • [x] Push packages to nuget.org (not currently automated, contact dnceng - search "Publish MSBuild 17.6 to NuGet.org" email subject for template).
  • [ ] Publish docs: submit reference request at https://aka.ms/publishondocs
    • Click on the link labeled Request – Reference Publishing
    • You can use existing ticket as a reference
  • [ ] Remove the temporarily added build feed from nuget.config if it was added in the Update the PackageValidationBaselineVersion step
  • [ ] Update main subscriptions to the new channel (this can be done before or after release - depending on when the source repos from our previous - VS 17.9 - channle start to publish in the next - VS 17.10 - channel)
    darc get-subscriptions --exact --target-repo https://github.com/dotnet/msbuild --target-branch main
  • [x] Create the 17.9 release
    • [x] Create tag (can be done upfront)
    git checkout <commit noted above>
    git tag v17.9.3
    git push upstream v17.9.3
    
    • [x] Create Release in Github with Create Release from Tag GH option (https://github.com/dotnet/msbuild/releases/new?tag=v17.9.3) - the release notes can be prepopulated (Generate Release Notes)

AR-May avatar Dec 01 '23 16:12 AR-May