- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.4k
 
Closed
Labels
Description
(adapted from #9484)
Preparation for the release:
-   Create 
vs17.10branch -   Modify the VS insertion so that it flows from MSBuild vs17.10 to VS main here Edit -> Schedule set under Artifacts -> disable toggle
AND - Disable automated run of https://dev.azure.com/devdiv/DevDiv/_release?definitionId=2153&view=mine&_a=releases (because our 17.11 builds don't have a place to go in VS yet)
 -   Create darc channel for 
VS 17.11if it doesn't already exist
darc add-channel --name "VS 17.11" -   Ping internal "First Responders" Teams channel to get the new channel 17.11 made available as a promotion target
IT SEEMS TO BE DONE Making VS 17.10 channel promotable arcade#14260 -   Remove the 
mainto old release channel default channel
darc delete-default-channel --repo https://github.com/dotnet/msbuild --branch main --channel "VS 17.9" -   Associate the 
mainbranch with the next release channel
darc add-default-channel --channel "VS 17.11" --branch main --repo https://github.com/dotnet/msbuild -   Check subscriptions for the current channel 
VS 17.11and update as necessary (for instance, SDK'smainbranch 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.11" -   Update channel VS 17.9 to VS 17.10 for the sdk main subscription
`darc update-subscription --id sdk_main_branch_id -   Ensure that the current release channel 
VS 17.10is associated with the correct release branch
darc get-default-channels --source-repo https://github.com/dotnet/msbuild --branch vs17.10
if it is not,darc add-default-channel --channel "VS 17.10" --branch vs17.10 --repo https://github.com/dotnet/msbuild -   Fast-forward merge the correct commit (the one that is currently inserted to VS main) to the 
vs17.10branch
e.g.:git push upstream 2e6f2ff7ea311214255b6b2ca5cc0554fba1b345:refs/heads/vs17.10Note the commit for future steps
This steps is aimed to make us sure the branch contains all the planned changes from main -   Update the branch merge flow in 
dotnet/versionsto have the currently-in-servicing branches (pending review MSBuild-17.9 -> 17.10 versions#951) -   Fix OptProf data flow for the new vs17.10 branch
- Run manually OptProf pipeline for vs17.10 ('Run pipeline' in upper right)
 - Run the MSBuild pipeline for vs17.10 without OptProf (set 
SkipApplyOptimizationDatavariable in 'Advanced options' section of the 'Run pipeline' menu totrue) - Run the MSBuild pipeline for vs17.10 with no extra customization - OptProf should succeed now
 
 - Create 17.11 branding PR (in main)
 -   Create 17.10 localization ticket: https://aka.ms/ceChangeLocConfig (requesting to add localization for 17.10)
https://ceapex.visualstudio.com/CEINTL/_workitems/edit/957875 (DONE) -   Enable 17.10 localization - by setting 
EnableReleaseOneLocBuildtotrue -   Disable 17.9 localization -  by setting [
EnableReleaseOneLocBuild] (https://github.com/dotnet/msbuild/blob/vs17.9/.vsts-dotnet.yml) tofalseclarify with @JanKrivanek - Merge 17.11 branding PR
 - Create and merge PR including public API baseline package version change (see Public api analyzer change #8116 (comment)): Version 17.8 #8949
 - When VS main snaps to 17.10 and updates its version to 17.11, modify the VS insertion so that it flows from MSBuild main to VS main.
 -   Create 17.9 localization ticket: https://aka.ms/ceChangeLocConfig (requesting to remove localization for 17.9)
https://ceapex.visualstudio.com/CEINTL/_workitems/edit/936778 -   Update the release-branch insertion release definition to have 
InsertTargetBranchrel/d17.10. - Remove MSBuild main from the experimental VS insertion flow.
 - Turn the release pipeline back on.
 -   Prepare final branding PR for 
vs17.10 -   Merge final branding to 
vs17.10branch - 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=9505483&view=results)
 - Get QB approval (RAINER)
 - 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 (RAINER)
 -  
Update the PackageValidationBaselineVersion to the latest released version (17.10.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. 
ASAP On/After GA (based on release schedule (internal)):
- 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 fromnuget.configif it was added in theUpdate the PackageValidationBaselineVersionstep -   Update 
mainsubscriptions to the new channel (this can be done before or after release - depending on when the source repos from our previous - VS 17.10 - channle start to publish in the next - VS 17.11 - channel)
darc get-subscriptions --exact --target-repo https://github.com/dotnet/msbuild --target-branch main -   Create the 17.10 release
- Create tag (can be done upfront)
 
git checkout <commit noted above> git tag v17.10.3 git push upstream v17.10.3-   Create Release in Github with 
Create Release from TagGH option (https://github.com/dotnet/msbuild/releases/new?tag=v17.9.3) - the release notes can be prepopulated (Generate Release Notes)