Skip to content

Commit 5d1dfa9

Browse files
AArnottrenovate[bot]matteo-prosperi
authored
Merge latest Library.Template (#291)
* Update Dockerfile and global.json updates to v9.0.200 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency dotnet-coverage to 17.14.1 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency docfx to 2.78.3 (#351) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Do not verify signed binaries in LocBin artifact This artifact does not ship and only serves as input for translators. * Add placeholder option for vs-validation to skip optimization * Update dependency dotnet-coverage to 17.14.2 (#352) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix GitHub release workflow in dispatched runs Dispatched runs were failing because they still looked for a GitHub release via properties that are not defined. Also, upload artifacts to the GitHub release recursively, avoiding directories. * Drop semanticCommits setting from renovate.json It's default is to automatically detect the repo's convention, which is great. * Switch to renovate rules from Microsoft presets * Do not fail on missing LCL files in official builds Missing LCL files are a normal consequence of creating a new library, and unless we get successful builds out after creating that library, translations will never be provided (thus resolving the warning). * Revert "Avoid `dotnet format` hang" This reverts commit 20e285c. This workaround is no longer needed with the 9.0.200 .NET SDK. * Consolidate SDL tasks for insertion job * Disable redundant 1ES SBOM task * Put publishing code coverage under a switch * Drop github release workflow * Merge pull request #355 from AArnott/renovate/dockerfile-and-global.json-updates Update Dockerfile and global.json updates to v9.0.201 * Build renovate settings on the best-practices preset (#357) * Update Dockerfile and global.json updates to v9.0.202 (#356) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Pin dependencies (#358) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Pin mcr.microsoft.com/dotnet/sdk Docker tag to 332e036 (#359) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Keep targeting the oldest .NET LTS version * Update mcr.microsoft.com/dotnet/sdk:9.0.202-noble Docker digest to dcc11e3 (#360) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Opt in to the new MicroBuild SBOM behavior * Fix unofficial build with SDL tools enabled * Update dependency xunit.v3 to v2 (#353) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update Dockerfile and global.json updates to v9.0.203 (#364) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update docs to use MergeFrom-Template.ps1 * Fix lang service reporting C# 7.3 errors in Error List By setting LangVersion so late in msbuild evaluation, the `CommandLineArgsForDesignTimeEvaluation` property is set based on the default value (of 7.3, for .NET Framework projects). This causes the VS language service to initialize with the wrong language version. I originally moved this property definition to the .targets because `$(Language)` isn't set in time for the .props files to use them. But we can move it back to .props by using the project file extension instead. * Remove remnants of a workaround * Share more variable definitions * Avoid CodeQL steps during release * Drop stale comment * Reapply "Avoid `dotnet format` hang" This reverts commit 46e768b. Because dotnet/sdk#44951 is repro'ing again even on the latest .NET SDK. * Another CodeQL skip * Revert "Opt in to the new MicroBuild SBOM behavior" (#365) * Update actions/download-artifact digest to d3f86a1 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency powershell to 7.5.1 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update mcr.microsoft.com/dotnet/sdk:9.0.203-noble Docker digest to c849687 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Reapply "Opt in to the new MicroBuild SBOM behavior" This reapplies AArnott/Library.Template@2345213. Reverts AArnott/Library.Template#365 * Deploy SBOMs next to the VSIX they describe This should fix 404s on sbom's referenced from .vsman files. * Update xunit (#370) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update SUPPORT.md with links to product support * Refine SUPPORT.md wording * Add support for a repo to hard-code extra SDKs that must be installed * Add script for collecting 3rd party symbol files * Reapply "Avoid `dotnet format` hang" This reverts commit 46e768b. Because dotnet/sdk#44951 is repro'ing again even on the latest .NET SDK. * Fix 3rd party symbol archival * Update Dockerfile and global.json updates to v9.0.300 (#372) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency Microsoft.NET.Test.Sdk to 17.14.0 * Update mcr.microsoft.com/dotnet/sdk:9.0.300-noble Docker digest to 9f7bd4d (#373) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update becheran/mlc action to v0.22.0 (#374) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency Microsoft.NET.Test.Sdk to 17.14.1 * Fix test failures that occur due to Xunit.v3 v2's new `TraceListener` --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Matteo Prosperi <[email protected]>
2 parents 8347f27 + b5f62f7 commit 5d1dfa9

28 files changed

+250
-208
lines changed

.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.5.0",
6+
"version": "7.5.1",
77
"commands": [
88
"pwsh"
99
],
1010
"rollForward": false
1111
},
1212
"dotnet-coverage": {
13-
"version": "17.13.1",
13+
"version": "17.14.2",
1414
"commands": [
1515
"dotnet-coverage"
1616
],
@@ -24,7 +24,7 @@
2424
"rollForward": false
2525
},
2626
"docfx": {
27-
"version": "2.78.2",
27+
"version": "2.78.3",
2828
"commands": [
2929
"docfx"
3030
],

.devcontainer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Refer to https://hub.docker.com/_/microsoft-dotnet-sdk for available versions
2-
FROM mcr.microsoft.com/dotnet/sdk:9.0.102-noble
2+
FROM mcr.microsoft.com/dotnet/sdk:9.0.300-noble@sha256:9f7bd4d010026e15a57d9cf876f2f7d08c3eeed6a0ea987b8c5ba8c75e68e948
33

44
# Installing mono makes `dotnet test` work without errors even for net472.
55
# But installing it takes a long time, so it's excluded by default.

.github/actions/publish-artifacts/action.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,46 +14,46 @@ runs:
1414

1515
- name: 📢 Upload project.assets.json files
1616
if: always()
17-
uses: actions/upload-artifact@v4
17+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
1818
with:
1919
name: projectAssetsJson-${{ runner.os }}
2020
path: ${{ runner.temp }}/_artifacts/projectAssetsJson
2121
continue-on-error: true
2222
- name: 📢 Upload variables
23-
uses: actions/upload-artifact@v4
23+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
2424
with:
2525
name: variables-${{ runner.os }}
2626
path: ${{ runner.temp }}/_artifacts/Variables
2727
continue-on-error: true
2828
- name: 📢 Upload build_logs
2929
if: always()
30-
uses: actions/upload-artifact@v4
30+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
3131
with:
3232
name: build_logs-${{ runner.os }}
3333
path: ${{ runner.temp }}/_artifacts/build_logs
3434
continue-on-error: true
3535
- name: 📢 Upload testResults
3636
if: always()
37-
uses: actions/upload-artifact@v4
37+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
3838
with:
3939
name: testResults-${{ runner.os }}
4040
path: ${{ runner.temp }}/_artifacts/testResults
4141
continue-on-error: true
4242
- name: 📢 Upload coverageResults
4343
if: always()
44-
uses: actions/upload-artifact@v4
44+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
4545
with:
4646
name: coverageResults-${{ runner.os }}
4747
path: ${{ runner.temp }}/_artifacts/coverageResults
4848
continue-on-error: true
4949
- name: 📢 Upload symbols
50-
uses: actions/upload-artifact@v4
50+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
5151
with:
5252
name: symbols-${{ runner.os }}
5353
path: ${{ runner.temp }}/_artifacts/symbols
5454
continue-on-error: true
5555
- name: 📢 Upload deployables
56-
uses: actions/upload-artifact@v4
56+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
5757
with:
5858
name: deployables-${{ runner.os }}
5959
path: ${{ runner.temp }}/_artifacts/deployables

.github/renovate.json

Lines changed: 6 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,9 @@
11
{
22
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3-
"extends": ["config:recommended"],
4-
"semanticCommits": "disabled",
5-
"labels": ["dependencies"],
6-
"packageRules": [
7-
{
8-
"matchPackageNames": ["nbgv", "nerdbank.gitversioning"],
9-
"groupName": "nbgv and nerdbank.gitversioning updates"
10-
},
11-
{
12-
"matchPackageNames": ["xunit*"],
13-
"groupName": "xunit"
14-
},
15-
{
16-
"matchDatasources": ["dotnet-version", "docker"],
17-
"matchDepNames": ["dotnet-sdk", "mcr.microsoft.com/dotnet/sdk"],
18-
"groupName": "Dockerfile and global.json updates"
19-
},
20-
{
21-
"matchPackageNames": ["*"],
22-
"allowedVersions": "!/-g[a-f0-9]+$/"
23-
},
24-
{
25-
"matchPackageNames": [
26-
"System.Collections.Immutable",
27-
"System.Composition*",
28-
"System.Diagnostics.DiagnosticSource",
29-
"System.IO.Pipelines",
30-
"System.Reflection.Metadata",
31-
"System.Text.Json",
32-
"System.Threading.Tasks.Dataflow",
33-
"Microsoft.Bcl.AsyncInterfaces"
34-
],
35-
"allowedVersions": "<9.0",
36-
"groupName": "Included in .NET runtime"
37-
},
38-
{
39-
"matchPackageNames": ["Microsoft.VisualStudio.Internal.MicroBuild*"],
40-
"groupName": "microbuild"
41-
},
42-
{
43-
"matchPackageNames": ["Microsoft.VisualStudio.*"],
44-
"groupName": "Visual Studio SDK"
45-
},
46-
{
47-
"matchPackageNames": ["Microsoft.VisualStudio.*"],
48-
"matchUpdateTypes": ["patch"],
49-
"enabled": false
50-
}
51-
]
3+
"extends": [
4+
"github>microsoft/vs-renovate-presets:microbuild",
5+
"github>microsoft/vs-renovate-presets:vs_main_dependencies",
6+
"github>microsoft/vs-renovate-presets:dotnet_packages_LTS"
7+
],
8+
"packageRules": []
529
}

.github/workflows/docs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
url: ${{ steps.deployment.outputs.page_url }}
2626
runs-on: ubuntu-latest
2727
steps:
28-
- uses: actions/checkout@v4
28+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
2929
with:
3030
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
3131
- name: ⚙ Install prerequisites
@@ -35,10 +35,10 @@ jobs:
3535
name: 📚 Generate documentation
3636

3737
- name: Upload artifact
38-
uses: actions/upload-pages-artifact@v3
38+
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
3939
with:
4040
path: docfx/_site
4141

4242
- name: Deploy to GitHub Pages
4343
id: deployment
44-
uses: actions/deploy-pages@v4
44+
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4

.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@v4
20+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
2121
with:
2222
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
2323

.github/workflows/release.yml

Lines changed: 0 additions & 88 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,17 @@ Configuration is in the `.github/renovate.json` file.
8282
When changing the renovate.json file, follow [these validation steps](https://docs.renovatebot.com/config-validation/).
8383

8484
If Renovate is not creating pull requests when you expect it to, check that the [Renovate GitHub App](https://github.com/apps/renovate) is configured for your account or repo.
85+
86+
## Merging latest from Library.Template
87+
88+
### Maintaining your repo based on this template
89+
90+
The best way to keep your repo in sync with Library.Template's evolving features and best practices is to periodically merge the template into your repo:
91+
`
92+
```ps1
93+
git fetch
94+
git checkout origin/main
95+
.\tools\MergeFrom-Template.ps1
96+
# resolve any conflicts, then commit the merge commit.
97+
git push origin -u HEAD
98+
```

Directory.Build.props

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<BaseOutputPath Condition=" '$(BaseOutputPath)' == '' ">$(RepoRootPath)bin\$(MSBuildProjectName)\</BaseOutputPath>
88
<PackageOutputPath>$(RepoRootPath)bin\Packages\$(Configuration)\NuGet\</PackageOutputPath>
99
<VSIXOutputPath>$(RepoRootPath)bin\Packages\$(Configuration)\Vsix\$(Platform)\</VSIXOutputPath>
10+
<SBOMFileDestPath>$(VSIXOutputPath)</SBOMFileDestPath>
1011
<Nullable>enable</Nullable>
1112
<ImplicitUsings>enable</ImplicitUsings>
1213
<AnalysisLevel>latest</AnalysisLevel>
@@ -38,6 +39,11 @@
3839
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
3940
</PropertyGroup>
4041

42+
<PropertyGroup>
43+
<LangVersion Condition="'$(MSBuildProjectExtension)'=='.csproj'">13</LangVersion>
44+
<LangVersion Condition="'$(MSBuildProjectExtension)'=='.vbproj'">16.9</LangVersion>
45+
</PropertyGroup>
46+
4147
<ItemGroup>
4248
<None Include="$(RepoRootPath)obj/NOTICE" Pack="true" PackagePath="" Visible="false" Condition=" Exists('$(RepoRootPath)obj/NOTICE') " />
4349
</ItemGroup>
@@ -56,4 +62,6 @@
5662
<PackageReleaseNotes Condition="'$(RepositoryUrl)'!=''">$(RepositoryUrl)/releases/tag/v$(Version)</PackageReleaseNotes>
5763
</PropertyGroup>
5864
</Target>
65+
66+
<Import Project="azure-pipelines\NuGetSbom.props" />
5967
</Project>

Directory.Build.targets

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project>
3-
<PropertyGroup>
4-
<LangVersion Condition="'$(Language)'=='C#'">13</LangVersion>
5-
<LangVersion Condition="'$(Language)'=='VB'">16.9</LangVersion>
6-
</PropertyGroup>
73
<ItemGroup>
84
<!-- Avoid compile error about missing namespace when combining ImplicitUsings with .NET Framework target frameworks. -->
95
<Using Remove="System.Net.Http" Condition="'$(TargetFrameworkIdentifier)'=='.NETFramework'" />
@@ -12,6 +8,4 @@
128
<ItemGroup>
139
<PackageReference Include="Microsoft.CodeAnalysis.ResxSourceGenerator" PrivateAssets="all" />
1410
</ItemGroup>
15-
16-
<Import Project="azure-pipelines\NuGetSbom.targets" Condition="'$(IsPackable)'!='false'" />
1711
</Project>

0 commit comments

Comments
 (0)