Skip to content

Commit 55c9754

Browse files
authored
Merge pull request #1596 from microsoft/aarnott/update-library-template
Merge latest Library.Template microbuild updates
2 parents a576175 + d3e365b commit 55c9754

10 files changed

Lines changed: 68 additions & 14 deletions

File tree

.config/dotnet-tools.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
"isRoot": true,
44
"tools": {
55
"powershell": {
6-
"version": "7.6.1",
6+
"version": "7.6.2",
77
"commands": [
88
"pwsh"
99
],
1010
"rollForward": false
1111
},
1212
"dotnet-coverage": {
13-
"version": "18.6.2",
13+
"version": "18.8.0",
1414
"commands": [
1515
"dotnet-coverage"
1616
],
@@ -31,7 +31,7 @@
3131
"rollForward": false
3232
},
3333
"nerdbank.dotnetrepotools": {
34-
"version": "1.4.1",
34+
"version": "1.5.15",
3535
"commands": [
3636
"repo"
3737
],
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
name: bundle-dependency-prs
3+
description: Fix broken dependency update PRs and aggregate the ones that work into one PR.
4+
disable-model-invocation: true
5+
---
6+
7+
# Instructions
8+
9+
You have two goals:
10+
11+
1. Get all dependency PRs to a state where their PR checks pass.
12+
2. Aggregate dependency PRs with passing checks into just one PR.
13+
14+
You can identify dependency update PRs by those authored by `dependabot` or `renovate`.
15+
16+
You'll find instructions for building and validating the repo in the [CONTRIBUTING.md](../../../CONTRIBUTING.md) doc.
17+
Always validate your changes locally before pushing them to the remote repository.
18+
19+
When writing PR bodies or comments, avoid unmatched markdown code fences. Keep markdown well-formed.
20+
21+
For purposes of assessing PR readiness by its PR checks, consider docfx related checks to be irrelevant.
22+
If a docfx check fails but all other checks succeed, then that is a 'successful' dependency update PR.
23+
24+
## Fix up dependency PRs with failing checks
25+
26+
Before aggregating PRs, first try to fix any individual dependency update PRs with failing build/test checks.
27+
28+
1. For the dependency PRs with failing build or test PR checks, check out their source branch and fix any issues.
29+
2. Push your fixes as fresh commits to the individual dependency PRs.
30+
3. If you can't fix a particular PR, add a comment to the PR describing your attempt and outcome.
31+
32+
## Group dependency PRs that are ready to go
33+
34+
Your next goal is to collect all the dependency updates that are ready to go into a single PR.
35+
36+
1. Prepare a local branch called `bulkDepUpdates`.
37+
1. Consider that a remote branch by the same name may already exist. If it does, base your local branch on it.
38+
2. Merge `origin/main` into this branch.
39+
3. Resolve any conflicts.
40+
2. For the dependency PRs whose build and test PR checks already pass, merge them into the `bulkDepUpdates` branch.
41+
Consider that your local branch may have already merged an equivalent PR in the past (from a past run). If so, you should skip merging that PR.
42+
Resolve any conflicts.
43+
Build and run tests to validate your branch.
44+
3. Push the branch.
45+
4. Create a PR, if one does not already exist.

.github/workflows/copilot-setup-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
# You can define any steps you want, and they will run before the agent starts.
2727
# If you do not check out your code, Copilot will do this for you.
2828
steps:
29-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
29+
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
3030
with:
3131
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
3232
- name: ⚙ Install prerequisites

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
url: ${{ steps.deployment.outputs.page_url }}
2525
runs-on: ubuntu-latest
2626
steps:
27-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
27+
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
2828
with:
2929
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
3030
- name: ⚙ Install prerequisites

.github/workflows/libtemplate-update.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
contents: write
1818
pull-requests: write
1919
steps:
20-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
20+
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
2121
with:
2222
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
2323

CONTRIBUTING.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ assuming the working directory is the root of this repository:
4444
msbuild src
4545
```
4646

47-
[pwsh]: https://learn.microsoft.com/powershell/scripting/install/installing-powershell
47+
## Testing
48+
49+
You can use `dotnet test` to build and/or test the repo.
50+
51+
There may be tests that are known to be unstable or have special requirements. These can be avoided by running tests using the [dotnet-test-cloud.ps1](tools/dotnet-test-cloud.ps1) script *after* running `dotnet build`.
4852

4953
## Releases
5054

@@ -101,3 +105,5 @@ git checkout origin/main
101105
# resolve any conflicts, then commit the merge commit.
102106
git push origin -u HEAD
103107
```
108+
109+
[pwsh]: https://learn.microsoft.com/powershell/scripting/install/installing-powershell

Directory.Packages.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<PropertyGroup>
55
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
66
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
7-
<MicrosoftTestingPlatformVersion>2.2.2</MicrosoftTestingPlatformVersion>
7+
<MicrosoftTestingPlatformVersion>2.2.3</MicrosoftTestingPlatformVersion>
88
<MicroBuildVersion>2.0.226</MicroBuildVersion>
99
<CodeAnalysisVersion>3.11.0</CodeAnalysisVersion>
1010
<CodefixTestingVersion>1.1.3</CodefixTestingVersion>
@@ -41,7 +41,7 @@
4141
<PackageVersion Include="Xunit.StaFact" Version="3.0.13" />
4242
</ItemGroup>
4343
<ItemGroup Label="Library.Template">
44-
<PackageVersion Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.6.2" />
44+
<PackageVersion Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.7.0" />
4545
<PackageVersion Include="Microsoft.Testing.Extensions.CrashDump" Version="$(MicrosoftTestingPlatformVersion)" />
4646
<PackageVersion Include="Microsoft.Testing.Extensions.HangDump" Version="$(MicrosoftTestingPlatformVersion)" />
4747
<PackageVersion Include="Microsoft.Testing.Extensions.TrxReport" Version="$(MicrosoftTestingPlatformVersion)" />
@@ -57,7 +57,7 @@
5757
<GlobalPackageReference Include="Microsoft.VisualStudio.Internal.MicroBuild.VisualStudio" Version="$(MicroBuildVersion)" />
5858
<!-- The condition works around https://github.com/dotnet/sdk/issues/44951 -->
5959
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.9.50" Condition="!('$(TF_BUILD)'=='true' and '$(dotnetformat)'=='true')" />
60-
<GlobalPackageReference Include="PolySharp" Version="1.15.0" />
60+
<GlobalPackageReference Include="PolySharp" Version="1.16.0" />
6161
<GlobalPackageReference Include="StyleCop.Analyzers.Unstable" Version="1.2.0.556" />
6262
</ItemGroup>
6363
</Project>

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"sdk": {
3-
"version": "10.0.300",
3+
"version": "10.0.301",
44
"rollForward": "patch",
55
"allowPrerelease": false
66
},

test/Microsoft.VisualStudio.Threading.Tests/AwaitExtensionsTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -790,7 +790,7 @@ public async Task AwaitRegKeyChange_CallingThreadDestroyed()
790790
public async Task AwaitRegKeyChange_DoesNotPreventAppTerminationOnWin7()
791791
{
792792
Assert.SkipUnless(RuntimeInformation.IsOSPlatform(OSPlatform.Windows), "Windows only");
793-
string testExePath = Path.Combine(
793+
string testExePath = Path.GetFullPath(Path.Combine(
794794
AppDomain.CurrentDomain.BaseDirectory!,
795795
"..",
796796
"..",
@@ -802,7 +802,7 @@ public async Task AwaitRegKeyChange_DoesNotPreventAppTerminationOnWin7()
802802
"Release",
803803
#endif
804804
"net472",
805-
"Microsoft.VisualStudio.Threading.Tests.Win7RegistryWatcher.exe");
805+
"Microsoft.VisualStudio.Threading.Tests.Win7RegistryWatcher.exe"));
806806
this.Logger.WriteLine("Using testexe path: {0}", testExePath);
807807
var psi = new ProcessStartInfo(testExePath)
808808
{

tools/Install-DotNetSdk.ps1

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ $runtimeVersions = @()
5959
$windowsDesktopRuntimeVersions = @()
6060
$aspnetRuntimeVersions = @()
6161
if (!$SdkOnly) {
62-
Get-ChildItem "$PSScriptRoot\..\src\*.*proj", "$PSScriptRoot\..\test\*.*proj", "$PSScriptRoot\..\Directory.Build.props" -Recurse | % {
62+
$projFiles = Get-ChildItem "$PSScriptRoot\..\src\*.*proj", "$PSScriptRoot\..\test\*.*proj" -Recurse
63+
$projFiles += Get-ChildItem "$PSScriptRoot\..\src\Directory.Build.props", "$PSScriptRoot\..\test\Directory.Build.props" -Recurse
64+
$projFiles += Get-Item -LiteralPath "$PSScriptRoot\..\Directory.Build.props"
65+
$projFiles | % {
6366
$projXml = [xml](Get-Content -LiteralPath $_)
6467
$pg = $projXml.Project.PropertyGroup
6568
if ($pg) {

0 commit comments

Comments
 (0)