Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update assembly versions to latest for packages that recently shipped #11038

Open
wants to merge 41 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
2ffc428
Update assembly versions to latest for packages that recently shipped
ViktorHofer Nov 25, 2024
9770041
Update other config as well
ViktorHofer Nov 25, 2024
d4f0aa0
Update package dependencies
ViktorHofer Nov 25, 2024
1346f4c
Merge branch 'main' into ViktorHofer-patch-1
ViktorHofer Dec 17, 2024
4ac1e73
Update bindingRedirect version range for Microsoft.IO.Redist
ViktorHofer Dec 17, 2024
f329cc4
Localized file check-in by OneLocBuild Task: Build definition ID 9434…
dotnet-bot Dec 18, 2024
91581a6
Fix ambiguous reference for ExceptionHandling class
mthalman Dec 18, 2024
e9b99f5
Fix ambiguous reference for ExceptionHandling class (#11173)
baronfel Dec 19, 2024
95c3091
Update dependencies from https://github.com/dotnet/roslyn build 20241…
dotnet-maestro[bot] Dec 19, 2024
5539d46
Update dependencies from https://github.com/nuget/nuget.client build …
dotnet-maestro[bot] Dec 20, 2024
a71903d
telemetry onepager (#11013)
JanProvaznik Dec 20, 2024
f566737
fix: Update json syntax of merge-flow config (#11190)
f-alizada Dec 23, 2024
643e31a
Update dependencies from https://github.com/dotnet/source-build-refer…
dotnet-maestro[bot] Dec 23, 2024
c343fc8
Fix casing for UTF8Output propery (#11179)
baronfel Dec 23, 2024
0fe373a
Update dependencies from https://github.com/nuget/nuget.client build …
dotnet-maestro[bot] Dec 24, 2024
cc9d538
Update dependencies from https://github.com/nuget/nuget.client build …
dotnet-maestro[bot] Jan 2, 2025
91d5e15
Prevent reading from .rsp file for worker nodes (#11170)
YuliiaKovalova Jan 2, 2025
6c6231d
Handle the case for updated binding redirects (#11012)
YuliiaKovalova Jan 2, 2025
cee91f3
Update ChangeWaves doc (#11174)
JanKrivanek Jan 3, 2025
5357f31
Add IntelliSense for testing properties (#11029)
Youssef1313 Jan 3, 2025
96450a9
enable experimentally inserting to release branches from UI (#11205)
JanProvaznik Jan 3, 2025
c03b15e
Expose processes leveraged by BuildManager (#11146)
JanKrivanek Jan 3, 2025
89b8461
changing expander regex (#11210)
SimaTian Jan 3, 2025
bc0bd0a
Add result for target stop event trace (#11202)
JaynieBai Jan 6, 2025
d7788d6
Add more processes Logs for failed case Microsoft.Build.UnitTests.Exe…
JaynieBai Jan 6, 2025
18bb7cb
Update dependencies from https://github.com/dotnet/arcade build 20241…
dotnet-maestro[bot] Jan 6, 2025
9d67315
Update dependencies from https://github.com/nuget/nuget.client build …
dotnet-maestro[bot] Jan 6, 2025
08729bf
Generate packages for e2e tests by using existing ArtifactsShippingPa…
YuliiaKovalova Jan 6, 2025
8d395fd
Log glob failures (#11211)
JanProvaznik Jan 6, 2025
b497794
Add line/column information to invalid project exception (#11232)
YuliiaKovalova Jan 7, 2025
6ea6901
Enum.ToString method is resulting in slow performance. Fix it. (#11229)
SimaTian Jan 8, 2025
01501b7
Upgrade Microsoft.VisualStudio.SolutionPersistence to 1.0.28 (#11249)
mthalman Jan 9, 2025
07a83ea
Update areapath in tsaoptions.json (#11251)
JanProvaznik Jan 10, 2025
f69d764
Localized file check-in by OneLocBuild Task: Build definition ID 9434…
dotnet-bot Jan 13, 2025
3898228
ConcurrentDictionary.Count bypass (#11212)
SimaTian Jan 13, 2025
bfa266d
removing the conflicting assembly (#11254)
SimaTian Jan 13, 2025
1cb38b9
[main] Update dependencies from dotnet/roslyn (#11200)
dotnet-maestro[bot] Jan 13, 2025
3b7f991
Update release-checklist.md (#11131)
JanKrivanek Jan 13, 2025
ead85a2
Merge remote-tracking branch 'upstream/ViktorHofer-patch-1' into exp/…
rainersigwald Jan 29, 2025
515cef0
bump System.Numerics.Vectors redirect
rainersigwald Jan 29, 2025
f60e285
don't bump Threading.Tasks.Extensions
rainersigwald Jan 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .config/git-merge-flow-config.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
// Automate opening PRs to merge msbuild's vs17.12 (SDK 9.0.1xx) into vs17.13 (SDK 9.0.2xx)
"vs17.12": {
"MergeToBranch": "vs17.13"
}
},
// MSBuild latest release to main
"vs17.13": {
"MergeToBranch": "main"
Expand Down
4 changes: 2 additions & 2 deletions .config/tsaoptions.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"instanceUrl": "https://devdiv.visualstudio.com/",
"template": "TFSDEVDIV",
"projectName": "DEVDIV",
"areaPath": "DevDiv\\NET Tools\\MSBuild",
"areaPath": "DevDiv\\NET Tools Prague\\MSBuild",
"iterationPath": "DevDiv",
"notificationAliases": [ "[email protected]" ],
"repositoryName": "MSBuild",
"codebaseName": "MSBuild"
}
}
23 changes: 20 additions & 3 deletions azure-pipelines/vs-insertion-experimental.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,23 @@ resources:
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release

parameters:
- name: TargetBranch
type: string
default: main
displayName: 'Insertion Target Branch (select for manual insertion)'
values:
- main
- rel/d17.14
- rel/d17.13
- rel/d17.12
- rel/d17.11
- rel/d17.10
- rel/d17.8
- rel/d17.6
- rel/d17.3
- rel/d17.0

variables:
- name: TeamName
value: msbuild
Expand All @@ -29,7 +46,7 @@ variables:
- name: ArtifactPackagesPath
value: $(Build.ArtifactStagingDirectory)/PackageArtifacts

- name: MSBuildPackagePattern
- name: MSBuildPackagePattern
value: '$(ArtifactPackagesPath)/Microsoft.Build.*.nupkg'
- name: StringToolsPackagePattern
value: '$(ArtifactPackagesPath)/Microsoft.NET.StringTools*.nupkg'
Expand Down Expand Up @@ -118,12 +135,12 @@ extends:
LinkWorkItemsToPR: true
TeamName: $(TeamName)
TeamEmail: $(TeamEmail)
TargetBranch: main
TargetBranch: ${{ parameters.TargetBranch }}
InsertionPayloadName: $(InsertPayloadName)
PackagePropsValues: VS.ExternalAPIs.MSBuild=$(MSBuild_ExtApisPackageVersion);Microsoft.Build=$(MicrosoftNETStringToolsPackageVersion);Microsoft.Build.Framework=$(MicrosoftNETStringToolsPackageVersion);Microsoft.Build.Tasks.Core=$(MicrosoftNETStringToolsPackageVersion);Microsoft.Build.Utilities.Core=$(MicrosoftNETStringToolsPackageVersion);Microsoft.NET.StringTools=$(MicrosoftNETStringToolsPackageVersion)
InsertionDescription: $(InsertDescription)
ComponentJsonValues: $(InsertJsonValues)
DefaultConfigValues: $(InsertConfigValues)
InsertionReviewers: MSBuild
CustomScriptExecutionCommand: $(InsertCustomScriptExecutionCommand)
InsertionBuildPolicy: Request Perf DDRITs
InsertionBuildPolicy: Request Perf DDRITs
45 changes: 31 additions & 14 deletions documentation/release-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,33 +13,45 @@

## At release time
Before starting the process:
- [ ] If the release is being cut more than a few days before the VS-side snap, run insertions manually OR redirect MSBuild release branch
- [ ] If the release is being cut more than a few days before the VS-side snap, run insertions manually OR redirect MSBuild release branch
- [ ] Disable scheduled run of [MSBuild VS Insertion pipeline](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=24295) (our {{NEXT_VERSION}} builds don't have a place to go in VS yet) by: Edit -> ... -> Triggers -> add a schedule on a dead branch (this overrides the YAML defined once-per-day schedule for main). Manual pipeline run: select as input resource the to-be-inserted "MSBuild" pipeline run on branch `vs{{THIS_RELEASE_VERSION}}` and VS TargetBranch `main`.
OR
- [ ] If the release is being cut more than couple of weeks modify [YAML](https://github.com/dotnet/msbuild/tree/main/azure-pipelines/vs-insertion.yml) (and merge to affected MSBuild branches) of the [VS insertion pipeline](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=24295) so that it schedules insertions from MSBuild `vs{{THIS_RELEASE_VERSION}}` to VS `main`. Keep scheduled daily insertions to simplify your workflow and exclude `vs{{THIS_RELEASE_VERSION}}` from triggering insertion on each commit.

### Branching from main
- [ ] Ensure planned branch association to the channel
- [ ] Check if the association exist (it is now recommended to create it as a part of the previous release checklist):\
`darc get-default-channels --channel "VS {{THIS_RELEASE_VERSION}}" --branch vs{{THIS_RELEASE_VERSION}} --source-repo https://github.com/dotnet/msbuild`
- [ ] This step is done if output shows active expected association such as:\
`(5997) https://github.com/dotnet/msbuild @ vs17.13 -> VS 17.13`
- [ ] If the association is missing - we'll see output similar to:\
`No matching channels were found.`
- [ ] In such case - associate the `vs{{THIS_RELEASE_VERSION}}` branch with the next VS {{THIS_RELEASE_VERSION}} release channel \
`darc add-default-channel --channel "VS {{THIS_RELEASE_VERSION}}" --branch vs{{THIS_RELEASE_VERSION}} --repo https://github.com/dotnet/msbuild`
- [ ] If the new version's branch was created before the Visual Studio fork: fast-forward merge the correct commit (the one that is currently inserted to VS main) to the `vs{{THIS_RELEASE_VERSION}}` branch \
e.g.: `git push upstream 2e6f2ff7ea311214255b6b2ca5cc0554fba1b345:refs/heads/vs17.10` \
_(This is for the case where we create the branch too early and want it to be based actually on a different commit. If you waited until a good point in time with `main` in a clean state, just branch off and you are done. 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 `.config/git-merge-flow-config.jsonc` file to have the currently-in-servicing branches.
- [ ] Create {{NEXT_VERSION}} branding PR (in main) including public API baseline package version change: {{URL_OF_NEXT_VERSION_BRANDING_PR}}.
- [ ] Create {{NEXT_VERSION}} branding PR (in main) including public API baseline package version change: {{URL_OF_NEXT_VERSION_BRANDING_PR}}.
- In the file `eng/Versions.props` Update the `VersionPrefix` to `{{NEXT_VERSION}}` and `PackageValidationBaselineVersion` set to a latest internally available {{THIS_RELEASE_VERSION}} preview version in the [internal dnceng dotnet-tools feed](https://dev.azure.com/dnceng/internal/_artifacts/feed/dotnet-tools-internal). It might be needed to update `CompatibilitySuppressions.xml` files. See [this documentation](https://learn.microsoft.com/en-us/dotnet/fundamentals/apicompat/overview) for more details. You can update `CompatibilitySuppressions.xml` files by running
`dotnet pack MSBuild.Dev.slnf /p:ApiCompatGenerateSuppressionFile=true`.
`dotnet pack MSBuild.Dev.slnf /p:ApiCompatGenerateSuppressionFile=true`.
- [ ] When VS main snaps to {{THIS_RELEASE_VERSION}} and updates its version to {{NEXT_VERSION}}, modify the [MSBuild VS Insertion pipeline](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=24295) YAML so that it flows from MSBuild main to VS main.
- [ ] Update AutoTargetBranch selection in the [YAML](https://github.com/dotnet/msbuild/tree/main/azure-pipelines/vs-insertion.yml) (add to parameters and make new AutoTargetBranch rule by copying it from existing ones) of the [MSBuild VS Insertion pipeline](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=24295) to insert MSBuild `vs{{THIS_RELEASE_VERSION}}` to the corresponding VS branch `rel/d{{THIS_RELEASE_VERSION}}`.
- [ ] Update AutoTargetBranch selection in the [YAML](../azure-pipelines/vs-insertion.yml) (add to parameters and make new AutoTargetBranch rule by copying it from existing ones) of the [MSBuild VS Insertion pipeline](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=24295) to insert MSBuild `vs{{THIS_RELEASE_VERSION}}` to the corresponding VS branch `rel/d{{THIS_RELEASE_VERSION}}`.
- [ ] Add `rel/d{{THIS_RELEASE_VERSION}}` case to TargetBranch parameter in [Experimental insertion](../azure-pipelines/vs-insertion-experimental.yml)
- [ ] Set scheduled insertion for main and remove exclusion of `vs{{THIS_RELEASE_VERSION}}` triggering on each commit if added earlier.
- [ ] Merge {{NEXT_VERSION}} branding PR
- [ ] Merge {{NEXT_VERSION}} branding PR

### Adjust DARC channels and subscriptions
- [ ] Remove the `main` to old release channel ({{THIS_RELEASE_VERSION}}) default channel \
`darc delete-default-channel --repo https://github.com/dotnet/msbuild --branch main --channel "VS {{THIS_RELEASE_VERSION}}"`
- [ ] Associate the `main` branch with the next release channel \
`darc add-default-channel --channel "VS {{THIS_RELEASE_VERSION}}" --branch main --repo https://github.com/dotnet/msbuild`
`darc add-default-channel --channel "VS {{NEXT_VERSION}}" --branch main --repo https://github.com/dotnet/msbuild`
- [ ] Prepare the same channel association as well for the next release branch (vs{{NEXT_VERSION}}) - as a preparation for a next release:\
`darc add-default-channel --channel "VS {{NEXT_VERSION}}" --branch vs{{NEXT_VERSION}} --repo https://github.com/dotnet/msbuild`
- [ ] Check subscriptions for the forward-looking channel `VS {{NEXT_VERSION}}` 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 {{THIS_RELEASE_VERSION}}"`
- [ ] Update channel VS {{THIS_RELEASE_VERSION}} to VS {{NEXT_VERSION}} for the sdk main subscription and any others from the previous step
`darc update-subscription --id sdk_main_branch_id`
- [ ] Update channel VS {{THIS_RELEASE_VERSION}} to VS {{NEXT_VERSION}} for the sdk main subscription and any others from the previous step
`darc update-subscription --id <subscription_id_of_msbuild_main_to_sdk_main> --channel "VS {{NEXT_VERSION}}"`
- [ ] Ensure that the current release channel `VS {{THIS_RELEASE_VERSION}}` is associated with the correct release branch\
`darc get-default-channels --source-repo https://github.com/dotnet/msbuild --branch vs{{THIS_RELEASE_VERSION}}` \
if it is not, `darc add-default-channel --channel "VS {{THIS_RELEASE_VERSION}}" --branch vs{{THIS_RELEASE_VERSION}} --repo https://github.com/dotnet/msbuild`
Expand All @@ -56,10 +68,12 @@ if it is not, `darc add-default-channel --channel "VS {{THIS_RELEASE_VERSION}}"
- [ ] Arcade:
- Based on .NET version channel--does not change every MSBuild release
- `darc get-subscriptions --exact --target-repo https://github.com/dotnet/msbuild --source-repo https://github.com/dotnet/arcade`
- [ ] Make sure the non-infrastructure dependencies (currently Roslyn and Nuget) are set to 'disabled' (` - Enabled: False` in the `darc get-subscriptions` output) - we do not want to automatically bump them. The version updates should be explicitly driven by SDK or VS.
- [ ] Any missing subscription need to be added via `darc add-subscription` command, any misconfigured subscription needs to be edit via `darc update-subscription` command (for additional required and optional parameters run with `--help`)

### Adjust pipelines / releases
- [ ] Fix OptProf data flow for the new vs{{THIS_RELEASE_VERSION}} branch
- [ ] Run the [official build](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=9434) for vs{{THIS_RELEASE_VERSION}} without OptProf (set `SkipApplyOptimizationData` variable in 'Advanced options' section of the 'Run pipeline' menu to `true`) or alternatively with the latest Opt-Prof collected for the main branch (set `Optional OptProfDrop Override` to the drop path of the collected data, which could be found in the logs of the pipeline: Windows_NT -> Build -> search for `OptimizationData`).
- [ ] Run the [official build](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=9434) for vs{{THIS_RELEASE_VERSION}} without OptProf (set `SkipApplyOptimizationData` variable in 'Advanced options' section of the 'Run pipeline' menu to `true`) or alternatively with the latest Opt-Prof collected for the main branch (set `Optional OptProfDrop Override` to the drop path of the collected data, which could be found in the logs of the pipeline: Windows_NT -> Build -> search for `OptimizationData`).
- [ ] Check that the [OptProf data collection](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=17389) pipeline run is triggered for vs{{THIS_RELEASE_VERSION}}. If not, run manually ('Run pipeline' in upper right)
- [ ] Run the [official build](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=9434) for vs{{THIS_RELEASE_VERSION}} with no extra customization - OptProf should succeed now
- [ ] Restore [MSBuild VS Insertion pipeline](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=24295) to the default [YAML](https://github.com/dotnet/msbuild/tree/main/azure-pipelines/vs-insertion.yml) defined schedule, by removing all triggers from Edit -> ... -> Triggers.
Expand All @@ -71,30 +85,33 @@ if it is not, `darc add-default-channel --channel "VS {{THIS_RELEASE_VERSION}}"
- [ ] Create and merge a PR in main to update a localization version comment in setting [`EnableReleaseOneLocBuild`](https://github.com/dotnet/msbuild/blob/main/.vsts-dotnet.yml) to set up the merge conflict when this line will be updated in the release branch.

### Final branding
- [ ] Prepare final branding PR for `vs{{THIS_RELEASE_VERSION}}`: {{URL_OF_FINAL_BRANDING_PR}}
- [ ] Prepare final branding PR for `vs{{THIS_RELEASE_VERSION}}`: {{URL_OF_FINAL_BRANDING_PR}} \
Edit Version.props file - add `<DotNetFinalVersionKind>release</DotNetFinalVersionKind>` as a suffix (on same line! - to intentionaly make it merge conflict on flows to main) after the `VersionPrefix` \
e.g.: #11130, #10697
- [ ] Merge final branding to `vs{{THIS_RELEASE_VERSION}}` branch
- [ ] Update perfstar MSBuild insertions configuration: [example PR](https://dev.azure.com/devdiv/DevDiv/_git/dotnet-perfstar/pullrequest/522843): {{URL_OF_PERFSTAR_PR}}
- [ ] Note down the build (will be helpful for requesting nuget packages publishing): {{URL_OF_BUILD}}
- [ ] Get M2 or QB approval as necessary per the VS schedule
- [ ] 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): {{URL_OF_VS_INSERTION}}
The PR will be helpful for requesting nuget packages publishing - as it contains the inserted packages versions
- [ ] Respond to the 'VS xyz package stabilization' email - with the merged insertion PR (as nowVS is on stable version).
- [ ] Update the PackageValidationBaselineVersion to the latest released version ({{THIS_RELEASE_VERSION}}.0) - this might require temporary addition of the [build artifacts feed](https://github.com/dotnet/msbuild/blob/29397b577e3ec0fe0c7650c3ab0400909655dc88/NuGet.config#L9) 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.
- [ ] Update the requested SDK version for bootstrap folder (the `BootstrapSdkVersion` property in [Versions.props](https://github.com/dotnet/msbuild/blob/main/eng/Versions.props)) and buildToolCommand/_InitializeBuildToolCommand values in cibuild_bootstrapped_msbuild scripts if a fresh sdk was released (released runtimes and associated sdk versions can be checked here - https://dotnet.microsoft.com/download/visual-studio-sdks - make sure to always check the details of the appropriate targeted version of .NET for the matching latest version of SDK).
- [ ] Update the requested SDK version for bootstrap folder (the `BootstrapSdkVersion` property in [Versions.props](https://github.com/dotnet/msbuild/blob/main/eng/Versions.props)) if a fresh sdk was released (released runtimes and associated sdk versions can be checked here - https://dotnet.microsoft.com/download/visual-studio-sdks - make sure to always check the details of the appropriate targeted version of .NET for the matching latest version of SDK).

## ASAP On/After GA:

Timing based on the [(Microsoft-internal) release schedule](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).

Following packages should be published (`THIS_RELEASE_EXACT_VERSION` is equal to `VersionPrefix` that comes form the eng\Version.props, that were part of the build we are trying to get published):
Following packages should be published (`THIS_RELEASE_EXACT_VERSION` is equal to `VersionPrefix` that comes form the eng\Version.props, that were part of the build we are trying to get published, it is as well part of the VS insertion PR noted above):
- Microsoft.Build.Utilities.Core.{{THIS_RELEASE_EXACT_VERSION}}.nupkg
- Microsoft.Build.{{THIS_RELEASE_EXACT_VERSION}}.nupkg
- Microsoft.Build.Framework.{{THIS_RELEASE_EXACT_VERSION}}.nupkg
- Microsoft.Build.Runtime.{{THIS_RELEASE_EXACT_VERSION}}.nupkg
- Microsoft.Build.Tasks.Core.{{THIS_RELEASE_EXACT_VERSION}}.nupkg
- Microsoft.NET.StringTools.{{THIS_RELEASE_EXACT_VERSION}}.nupkg
- Microsoft.Build.Templates.{{THIS_RELEASE_EXACT_VERSION}}.nupkg

**Note:** Microsoft.Build.Conversion.Core and Microsoft.Build.Engine are **not** part of the list. Microsoft.Build.Templates **is** part of the list. Those 3 packages are a difference to the historic publishing list.

- [ ] Publish docs: submit reference request at https://aka.ms/publishondocs
Expand Down
Loading