-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed
Labels
Description
(adapted from #8896)
Preparation for the release:
- When VS main snaps to
17.9
, createvs17.8
branch - Create darc channel for
VS 17.9
if it doesn't already exist
darc add-channel --name "VS 17.9"
- Ping internal "First Responders" Teams channel to get the new channel made available as a promotion target (e.g. Make "VS 17.6" darc channel promotionable arcade#12150): Make VS 17.7 and 17.8 promotable arcade#12989
- Remove the
main
to old release channel default channel
darc delete-default-channel --repo https://github.com/dotnet/msbuild --branch main --channel "VS 17.8"
- Associate the
main
branch with the next release channel
darc add-default-channel --channel "VS 17.9" --branch main --repo https://github.com/dotnet/msbuild
- Check subscriptions for the current channel
VS 17.8
and update as necessary (for instance, SDK'smain
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.8"
Update channelVS 17.8
toVS 17.9
for the sdk main subscription
`darc update-subscription --id sdk_main_branch_id - Ensure that the current release channel
VS 17.8
is associated with the correct release branch
darc get-default-channels --source-repo https://github.com/dotnet/msbuild --branch vs17.8
if it is not,darc add-default-channel --channel "VS 17.8" --branch vs17.8 --repo https://github.com/dotnet/msbuild
- Fast-forward merge the correct commit (the one that is currently inserted to VS main) to the
vs17.8
branch
git push upstream 797fd829a374a880f63fd4eea4ea6990404c48f4:refs/heads/vs17.8
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. - Update the branch merge flow in
dotnet/versions
to have the currently-in-servicing branches (extend Automate MSBuild's merge chain versions#867): MSBuild 17.7 -> 17.8 versions#911 - Fix OptProf data flow for the new vs17.8 branch
- Run manually OptProf pipeline for vs17.8 ('Run pipeline' in upper right)
- Run the MSBuild pipeline for vs17.8 without OptProf (set
SkipApplyOptimizationData
variable in 'Advanced options' section of the 'Run pipeline' menu totrue
) - Run the MSBuild pipeline for vs17.8 with no extra vustomization - OptProf should succeed now
- Update the release-branch insertion release definition to have
InsertTargetBranch
rel/d17.8
. - Prepare final branding PR for
vs17.8
but⚠️ DO NOT MERGE IT YET⚠️ : - Create 17.9 branding PR, including public API baseline package version change (see Public api analyzer change #8116 (comment)): Version 17.8 #8949
- Merge 17.9 branding PR
-
Prepare QB-mode bug for final branding insertion in internal VS repo - Merge final branding to
vs17.8
branch - 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 - 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://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/499661
- Update the PackageValidationBaselineVersion to the latest released version (17.8.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.
- Create 17.8 localization ticket: https://aka.ms/ceChangeLocConfig (requesting to flip localization from 17.7 to 17.8)
https://ceapex.visualstudio.com/CEINTL/_workitems/edit/907751 - Disable the 17.7 localization - by setting
EnableReleaseOneLocBuild
tofalse
- Enable 17.8 localization - by setting
EnableReleaseOneLocBuild
totrue
ASAP On/After GA (based on release schedule (internal) https://dev.azure.com/devdiv/DevDiv/_wiki/wikis/DevDiv.wiki/10097/Dev17-Release):
- Push packages to nuget.org (not currently automated, contact dnceng - search "Publish MSBuild 17.6 to NuGet.org" email subject for template).
- Remove the temporarily added build feed from
nuget.config
if it was added in theUpdate 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.8 - channle start to publish in the next - VS 17.9 - channel)
darc get-subscriptions --exact --target-repo https://github.com/dotnet/msbuild --target-branch main
- Create the 17.8 release
- Create tag (can be done upfront)
git checkout <commit noted above> git tag v17.8.3 git push upstream v17.8.3
- Create Release in Github with
Create Release from Tag
GH option (https://github.com/JanKrivanek/msbuild/releases/new?tag=v17.8.3) - the release notes can be prepopulated (Generate Release Notes
)