Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
505 commits
Select commit Hold shift + click to select a range
a568829
Bump Microsoft.NET.Test.Sdk from 16.8.3 to 16.9.1 (#95)
dependabot[bot] Mar 1, 2021
bf34bea
Bump coverlet.msbuild from 3.0.2 to 3.0.3 (#94)
dependabot[bot] Mar 1, 2021
1c04816
Bump Microsoft.Net.Compilers.Toolset from 3.9.0-3.final to 3.9.0 (#96)
dependabot[bot] Apr 2, 2021
1685f22
Bump .NET SDK to 5.0.201
AArnott Apr 10, 2021
98156ca
Fix local pack builds
AArnott Apr 27, 2021
00cc0d4
Bump .NET SDK to 5.0.202
AArnott Apr 27, 2021
ca33a6c
Bump Microsoft.NET.Test.Sdk from 16.9.1 to 16.9.4 (#98)
dependabot[bot] May 2, 2021
aba1902
Bump Nerdbank.GitVersioning from 3.3.37 to 3.4.194 (#97)
dependabot[bot] May 2, 2021
d3d35b6
Add support for windowsdesktop runtimes to Install-DotNetSdk.ps1 script
AArnott May 15, 2021
0d439dc
Merge pull request #99 from AArnott/addWindowsDesktopSdk
AArnott May 15, 2021
f62b381
Unpack xml doc files with nupkg for better Intellisense
AArnott May 29, 2021
8644f53
Update devcontainer base image to match global.json
AArnott May 29, 2021
ee7f2eb
Add powershell extension to devcontainer.json
AArnott May 29, 2021
7a23e0d
Fixes the Install-DotNetSdk.ps1 script when the path to the repo cont…
AArnott May 30, 2021
30c95ce
Bump Microsoft.NET.Test.Sdk from 16.9.4 to 16.10.0 (#101)
dependabot[bot] Jun 1, 2021
7c90ead
Bump Nerdbank.GitVersioning from 3.4.194 to 3.4.205 (#103)
dependabot[bot] Jun 1, 2021
fc1faae
Bump Microsoft.NETFramework.ReferenceAssemblies from 1.0.0 to 1.0.2 (…
dependabot[bot] Jun 1, 2021
2f9ae16
Update StyleCop.Analyzers to 1.2.0-beta.333
AArnott Jun 15, 2021
29e05c0
Run IDExxxx analyzers in the build
AArnott Jun 21, 2021
ce74486
Update Nerdbank.GitVersioning to 3.4.216
AArnott Jun 21, 2021
68f4b7f
Update Microsoft.Net.Compilers.Toolset to 3.10.0
AArnott Jun 21, 2021
e7fab6d
Update Ubuntu agent on AzP to 20.04
AArnott Jun 28, 2021
4dbf55a
Merge pull request #104 from AArnott/updateUbuntu
AArnott Jun 28, 2021
d3b2f39
Use NuGetAuthenticate in AzP instead of hand installation
AArnott Jun 28, 2021
3397568
Merge pull request #105 from AArnott/nugetauth
AArnott Jun 28, 2021
505f36a
Update .NET SDK
AArnott Jul 1, 2021
c0e8f42
Use batched CI
AArnott Jul 1, 2021
3230021
Bump Nerdbank.GitVersioning from 3.4.216 to 3.4.220 (#106)
dependabot[bot] Jul 1, 2021
3a49199
Add support for TargetFrameworks of the form netXX
SteveBush Jul 25, 2021
fd43c77
Update coverlet.msbuild and .NET SDK
AArnott Jul 26, 2021
ae80293
Merge pull request #109 from AArnott/depUpdates
AArnott Jul 27, 2021
3c82046
Merge pull request #107 from NetworkVisor/dotnet-runtime-install
AArnott Jul 27, 2021
998b4db
Bump Nerdbank.GitVersioning from 3.4.220 to 3.4.231 (#110)
dependabot[bot] Aug 1, 2021
1808050
Drop netcoreapp2.1 as a target
AArnott Aug 23, 2021
10ed82d
Suppress SA1401 (private fields) in tests
AArnott Aug 23, 2021
ff1f264
Merge pull request #112 from AArnott:removeNetCore21
AArnott Aug 23, 2021
f90f494
Touch-up on code style
AArnott Aug 23, 2021
9cd3507
Bump Microsoft.NET.Test.Sdk from 16.10.0 to 16.11.0 (#114)
dependabot[bot] Sep 1, 2021
ad83aa0
Bump Microsoft.Net.Compilers.Toolset from 3.10.0 to 3.11.0 (#113)
dependabot[bot] Sep 1, 2021
9ac560c
Fix SDK installation on ARM64
AArnott Sep 2, 2021
c703300
Update StyleCop.Analyzers version
AArnott Sep 8, 2021
b2453ab
Fix position of runsettings in .editorconfig
AArnott Sep 9, 2021
eba9acb
Update .NET SDK to 5.0.400
AArnott Sep 10, 2021
e94bf29
Build on ubuntu 20.04 in Github workflows
AArnott Sep 13, 2021
9c06ecb
Publish variables, symbols and deployables from non-Windows agents too
AArnott Sep 13, 2021
4854ca1
Fix up symbol collection off-Windows
AArnott Sep 13, 2021
0e9d868
Merge pull request #117 from AArnott/github-actions-update
AArnott Sep 13, 2021
4438c07
Update to latest dotnet-install script
AArnott Sep 14, 2021
5c2208a
Merge pull request #118 from AArnott/installerUpdate
AArnott Sep 15, 2021
f220004
Capture dumps from test hangs on Mac/Linux
AArnott Sep 15, 2021
da2dbc0
Remove ResultsDirectory tag
AArnott Sep 15, 2021
7d221cb
Merge pull request #119 from AArnott/collectTestDumps
AArnott Sep 15, 2021
ecbaf97
Update SDK to 5.0.401
AArnott Sep 15, 2021
04544dc
Update Nerdbank.GitVersioning to 3.5.37-alpha
AArnott Sep 23, 2021
f6bc832
Optimize the build for just one version applied everywhere
AArnott Sep 23, 2021
934d5f2
Add a collection for prepended paths
AArnott Sep 23, 2021
e73a4eb
Merge pull request #121 from AArnott/nbgvUpdate
AArnott Sep 23, 2021
62687e5
Stabilize package restore in the face of outside influences
AArnott Sep 23, 2021
ccae4b2
Place obj folders in the same hierarchy as the source appears in the …
AArnott Oct 3, 2021
26afcd2
Calculate the version just once for the whole repo
AArnott Oct 3, 2021
392da69
Opt into the WPF nuget fix in .NET 5 SDK
AArnott Oct 3, 2021
8094b0a
Set indent size for msbuildproj files
AArnott Oct 8, 2021
6cd48ff
Move TargetFramework properties into projects
AArnott Oct 11, 2021
c7afe53
Merge remote-tracking branch 'refs/remotes/origin/main'
AArnott Oct 26, 2021
295a532
Include README in nupkg
AArnott Oct 26, 2021
d3cb4c5
Revert "Include README in nupkg"
AArnott Oct 26, 2021
2174046
Reapply "Include README in nupkg"
AArnott Oct 26, 2021
5fa2a94
Update to .NET 6 SDK
AArnott Oct 26, 2021
346548a
Search for .NET 5+ runtime requirements
AArnott Oct 26, 2021
a4b1b33
Merge pull request #123 from AArnott/runtimeSearch
AArnott Oct 26, 2021
ef76eb2
Use C# 10 syntax
AArnott Oct 26, 2021
2cc6241
Remove WPF workaround that isn't necessary with the .NET 6 SDK
AArnott Oct 26, 2021
a280dfc
Bump Microsoft.NET.Test.Sdk from 16.11.0 to 17.0.0
dependabot[bot] Nov 1, 2021
16c3bad
Merge pull request #126 from AArnott/dependabot/nuget/Microsoft.NET.T…
AArnott Nov 1, 2021
ab053bb
Disable default, redundant NB.GV behavior
AArnott Nov 2, 2021
16d30af
Log artifact warnings in more cases
AArnott Nov 2, 2021
cbf38a4
Use .NET SDK 6.0.100 GA
AArnott Nov 8, 2021
e2a45d9
Merge pull request #124 from AArnott/readme
AArnott Nov 8, 2021
4582d85
Collect coverage in non-multitargeting environments
AArnott Nov 12, 2021
6deff2d
Merge pull request #128 from AArnott/nonMTsupport
AArnott Nov 12, 2021
9209473
Touch-ups
AArnott Nov 19, 2021
686e55d
Add Apply-Template.ps1 script to automate template updates
AArnott Nov 19, 2021
805c87a
Build on VS 2022 agents
AArnott Nov 19, 2021
4fb29c8
Update Microsoft.SourceLink.GitHub package version
AArnott Nov 19, 2021
2eb1688
Collect diagnostic test logs
AArnott Nov 22, 2021
df52bbc
Remove CA1508, which has too many false positives
AArnott Nov 22, 2021
ff1bb67
Merge pull request #129 from AArnott/updates
AArnott Nov 22, 2021
c5db1ef
Fix ARM detection on Linux
AArnott Nov 26, 2021
eb997cc
Merge pull request #130 from AArnott/fixArmDetection
AArnott Nov 26, 2021
c9ed75c
Format whitespace in init.ps1
AArnott Nov 29, 2021
b75b239
Suppress powershell interpreting of AzP macros
AArnott Dec 1, 2021
e1fafe9
Secure p/invoke native library loads
AArnott Dec 2, 2021
1be4fa9
Fix regression in platform detection in Windows Powershell
AArnott Dec 2, 2021
81634e3
Set basic version build variables in pipeline
AArnott Dec 3, 2021
e4ef595
Patch AssemblyInfo.cs
AArnott Dec 3, 2021
52d37ae
Update Nerdbank.GitVersioning
AArnott Dec 3, 2021
c31f6ad
Fix Expand-Template to replace tokens in AssemblyInfo.cs
AArnott Jan 13, 2022
6cf12a2
Enable publishing of artifacts in multiple passes
AArnott Jan 13, 2022
c01e120
Bump coverlet.msbuild from 3.1.0 to 3.1.1 (#134)
dependabot[bot] Feb 1, 2022
8898831
Update StyleCop.Analyzers
AArnott Feb 1, 2022
ad7449b
Update sample test, which was sporting dead code
AArnott Feb 1, 2022
8ef6d06
Update Nerdbank.GitVersioning
AArnott Feb 3, 2022
ae5e025
Add explanatory comment for using unstable stylecop id
AArnott Feb 3, 2022
dcf9393
Capture netcoreapp3.1 TFM test crash dump naming pattern on linux
AArnott Feb 4, 2022
4a85ff8
Replace runsettings files with switches
AArnott Feb 4, 2022
9fb050e
Fix GitHub workflow file syntax error (#137)
AArnott Feb 4, 2022
da8eef4
Build and pack in one step
AArnott Feb 4, 2022
1699ddf
Replace several `DotNetCoreCLI` task with one `dotnet test` task
AArnott Feb 4, 2022
04f05d6
Drop redundant build verbosity switch
AArnott Feb 4, 2022
f9f2c97
Merge pull request #138 from AArnott/testAllTFMsSimply
AArnott Feb 4, 2022
849e4b8
Simplify Join-Path expressions
AArnott Feb 4, 2022
e9df707
Collect and publish symbols from every build agent
AArnott Feb 4, 2022
6ecd99b
Do not include product symbols with test symbols
AArnott Feb 4, 2022
2ed469f
Merge pull request #139 from AArnott/simplifyJoinPath
AArnott Feb 4, 2022
5b2c219
Merge branch 'fix135'
AArnott Feb 5, 2022
e67a6e4
Update GitHub Actions to more closely resemble AzP
AArnott Feb 5, 2022
edbcb35
Merge pull request #140 from AArnott/actionsUpdates
AArnott Feb 5, 2022
8a837f7
Activate msbuild 17's platform negotiation feature
AArnott Feb 17, 2022
aa76125
Merge pull request #142 from AArnott/platformNegotiation
AArnott Feb 17, 2022
a803831
Bump Microsoft.NET.Test.Sdk from 17.0.0 to 17.1.0 (#143)
dependabot[bot] Mar 6, 2022
25fa064
Bump coverlet.msbuild from 3.1.1 to 3.1.2 (#144)
dependabot[bot] Mar 6, 2022
f1581aa
Update .NET SDK to 6.0.200
AArnott Mar 8, 2022
a07c182
Merge pull request #145 from AArnott/updateSdk
AArnott Mar 8, 2022
cfa18ae
Re-enable transitive P2Ps
AArnott Mar 10, 2022
e920740
Improve TargetFramework detection
AArnott Mar 25, 2022
7e34288
Fix Install-DotNetSdk.ps1 for Windows machine-wide installations
AArnott Mar 30, 2022
2801048
Improve TargetFramework detection (#146)
AArnott Mar 30, 2022
df0a3fa
Merge pull request #147 from AArnott/fixSdkInstallScript
AArnott Mar 30, 2022
3aeff33
Ignore launchSettings.json
AArnott Mar 31, 2022
b917529
Replace deployments with ordinary jobs
AArnott Mar 31, 2022
efe7fdd
Simplify release and CI package push
AArnott Mar 31, 2022
52dcdc7
GitHub release enhancements
AArnott Mar 31, 2022
2838df2
Merge pull request #148 from AArnott/pipelineUpdates
AArnott Mar 31, 2022
05b8a49
Increase test timeout to 60s
AArnott Mar 31, 2022
2d4b132
Merge pull request #149 from AArnott/pipelineUpdates
AArnott Mar 31, 2022
34262db
Add recognition for RIDs in test paths
AArnott Mar 31, 2022
9d0b313
Use appropriate slash for the agent OS
AArnott Apr 10, 2022
3f11fb5
Update devcontainer Dockerfile to match global.json
AArnott Apr 11, 2022
dd60e83
Remove explicit Microsoft.NETFramework.ReferenceAssemblies PackageRef…
AArnott Apr 11, 2022
f90ba82
Merge pull request #151 from AArnott/removeRefAssembliesRef
AArnott Apr 11, 2022
09516ca
Tolerate trx files with test run failures
AArnott Apr 12, 2022
e21c1c1
Improve pipeline verbosity
AArnott Apr 12, 2022
0ac22f8
Document how to create a merge commit in a Library.Template based repo
AArnott Apr 14, 2022
19515d7
Protect against misapplication of the Apply-Template script
AArnott Apr 14, 2022
86a18ec
Ignore .lutconfig files
AArnott Apr 23, 2022
b656d10
Clarify nuget push task
AArnott Apr 26, 2022
f39d7fc
Test on .NET 6 instead of .NET 5
AArnott May 1, 2022
acd777e
Merge pull request #152 from AArnott/net6.0testing
AArnott May 1, 2022
16d6551
Skip CI for release pipeline changes
AArnott May 1, 2022
e0d4ad5
Add support for running 32-bit tests
AArnott May 2, 2022
78cba24
Shift to `using` directives outside the namespace
AArnott May 6, 2022
c82cc34
Permit attribute lists with multiple attributes in tests
AArnott May 6, 2022
0a6f58c
Update Nerdbank.GitVersioning dependency
AArnott May 6, 2022
9dde17f
Use icons for all task display names
AArnott May 6, 2022
9805678
Fix NUGET_PACKAGES path in pipelines
AArnott May 12, 2022
689bb7a
Merge pull request #153 from AArnott/dotnet32
AArnott May 12, 2022
da08e90
Add ability to split stage and publish artifact steps
AArnott May 12, 2022
d311414
Merge pull request #154 from AArnott/stageAndPublish
AArnott May 12, 2022
c268a9e
Fix several Install-DotNetSdk issues
AArnott May 18, 2022
c6afb21
Merge pull request #155 from AArnott/fixInstallSdk
AArnott May 19, 2022
7bf4e22
Fix Apply-Template merge check
AArnott May 20, 2022
5abdd70
Bump Microsoft.NET.Test.Sdk from 17.1.0 to 17.2.0 (#159)
dependabot[bot] Jun 1, 2022
311e766
Bump Nerdbank.GitVersioning from 3.5.103 to 3.5.107 (#157)
dependabot[bot] Jun 1, 2022
6a1593c
Bump StyleCop.Analyzers.Unstable from 1.2.0.406 to 1.2.0.435 (#156)
dependabot[bot] Jun 1, 2022
a91a2f1
Bump xunit.runner.visualstudio from 2.4.3 to 2.4.5 (#158)
dependabot[bot] Jun 1, 2022
8f2ed5e
Update SDK to 6.0.300
AArnott Jun 7, 2022
8c6b68e
Add adoption caution about github issues being closed
AArnott Jun 8, 2022
f678dd3
Install the nuget cred provider for .NET 6 and .NET Framework
AArnott Jun 8, 2022
d8f567e
Avoid truncated code coverage data
AArnott Jun 8, 2022
f064b9a
Normalize slashes in coverage
AArnott Jun 8, 2022
e903112
Include only unique coverage reports in artifact
AArnott Jun 14, 2022
a4496aa
Merge pull request #162 from AArnott/fix161
AArnott Jun 15, 2022
c881dca
CodeCov binary uploader
SteveBush Jun 15, 2022
79a4410
Add completions for dotnet-test-cloud script
AArnott Jun 15, 2022
85d970c
Move coverage merge script to a ps1 that can be locally invoked
AArnott Jun 15, 2022
ac247b8
Revert "Add completions for dotnet-test-cloud script"
AArnott Jun 17, 2022
6156061
Touch-up formatting and simplify/correct a bit
AArnott Jun 18, 2022
50d35df
fixup
AArnott Jun 18, 2022
8abd437
Add signature validation
AArnott Jun 18, 2022
86fd8fb
Merge pull request #164 from NetworkVisor/codecov-feature
AArnott Jun 18, 2022
d0b0b55
Fix perf scaling issue in merging coverage reports
AArnott Jun 18, 2022
fa0ac39
Log _pipelines scripts verbosely
AArnott Jun 20, 2022
cb730ea
Collect test results from the right directory
AArnott Jun 20, 2022
ec409cd
Merge pull request #166 from AArnott/fix165
AArnott Jun 20, 2022
540ea6a
Prepare release notes with breaking changes
AArnott Jun 20, 2022
c5683be
Fix symbol file collection when the dll or exe is missing
AArnott Jul 22, 2022
0bb373a
Fix WPF workaround
AArnott Jul 27, 2022
3ec6f43
Bump Nullable from 1.3.0 to 1.3.1 (#172)
dependabot[bot] Aug 1, 2022
4594895
Bump Nerdbank.GitVersioning from 3.5.107 to 3.5.108 (#171)
dependabot[bot] Aug 1, 2022
b39494e
Make running tests in a pipeline optional
AArnott Aug 4, 2022
13d3a56
Detect more test assemblies
AArnott Aug 4, 2022
d69d108
Hide the codecov publish task if it won't run
AArnott Aug 5, 2022
68e3d61
Add warning about squashing a Lib.Template update
AArnott Aug 22, 2022
8c56d91
Bump Microsoft.NET.Test.Sdk from 17.2.0 to 17.3.1 (#175)
dependabot[bot] Sep 1, 2022
4dfc0ba
Bump Nerdbank.GitVersioning from 3.5.108 to 3.5.109 (#174)
dependabot[bot] Sep 1, 2022
2bcf967
Bump xunit from 2.4.1 to 2.4.2 (#173)
dependabot[bot] Sep 1, 2022
e16106d
Update doc links
AArnott Sep 6, 2022
5d14d2c
Force non-shallow clones
AArnott Sep 13, 2022
34f4c9f
Switch to using dotnet-coverage
AArnott Sep 13, 2022
16f2a9a
Update NuGetAuthenticate task version
AArnott Sep 14, 2022
12bda85
Update macOS agent to OS12
AArnott Sep 20, 2022
34412f0
Add more analyzers
AArnott Sep 21, 2022
2678ec5
Use static graph restore
AArnott Sep 28, 2022
0552ddc
Update dependencies
AArnott Oct 1, 2022
2eaf0fb
Update .NET SDK to 6.0.401
AArnott Oct 5, 2022
abab1d8
Fix variable detection on linux
AArnott Oct 20, 2022
cffffa4
Update Nerdbank.GitVersioning version
AArnott Oct 24, 2022
2a5a528
Improve verbose output of artifact collection
AArnott Oct 31, 2022
77fcd3d
Switch to NuGet's central package versioning
AArnott Nov 4, 2022
b894b8a
Update to the .NET 7.0.100-rc.2 SDK
AArnott Nov 4, 2022
ab4fb10
Switch to using GlobalPackageReference
AArnott Nov 4, 2022
318aaad
Move GitHub-specific package ref to its own group
AArnott Nov 4, 2022
3a23855
Merge pull request #178 from AArnott/net7.0sdk
AArnott Nov 4, 2022
253e62c
Simplify parent import pattern
AArnott Nov 4, 2022
f91a0e8
Avoid .NET 7 SDK till it's stable
AArnott Nov 4, 2022
c32551d
Add Directory.Packages.props as a solution item
AArnott Nov 7, 2022
295d066
Use static code coverage preview
AArnott Nov 10, 2022
ad6e242
Resolve NU1507 warning
AArnott Nov 11, 2022
f7b4621
Merge pull request #181 from AArnott/switchToCoveragePreview
AArnott Nov 11, 2022
66a302c
Update Microsoft.NET.Test.Sdk
AArnott Nov 14, 2022
8ebf3f2
Use `MSBuildTreatWarningsAsErrors` in pipeline
AArnott Nov 21, 2022
73ef446
Avoid static graph restore
AArnott Nov 21, 2022
ae66da7
Update to the .NET 7 SDK
AArnott Nov 9, 2022
ca3ab7d
Enable NuGet CPVM transitive pinning
AArnott Nov 22, 2022
6bcec43
Fix build on machines with Visual Studio 2022 Update 3
AArnott Nov 22, 2022
6a34c4f
Switch back to `GlobalPackageReference`
AArnott Nov 22, 2022
fb2b395
Drop the .NET compilers toolset pin
AArnott Nov 24, 2022
a32f820
Bump Microsoft.CodeCoverage (#182)
dependabot[bot] Dec 1, 2022
e7ed3b3
Bump Microsoft.CodeCoverage from 17.5.0-preview-20221201-01 to 17.5.0…
AArnott Dec 1, 2022
a24d8a1
Drop netcoreapp3.1 targeting
AArnott Dec 15, 2022
2da6478
Multitarget the library
AArnott Dec 15, 2022
dfd69e0
Avoid System.Net.Http compile error when targeting net472
AArnott Dec 15, 2022
ade39a9
Merge pull request #183 from AArnott/retargetNet
AArnott Dec 15, 2022
8121dad
Drop obsolete WPF workarounds
AArnott Dec 15, 2022
8bf30c8
Merge pull request #185 from AArnott/dropWpfWorkarounds
AArnott Dec 15, 2022
435bda6
Add emoticons to github workflows
AArnott Dec 15, 2022
2107c6a
Bump C# language version to 11
AArnott Dec 17, 2022
7e26321
Bump Microsoft.NET.Test.Sdk to 17.4.1
AArnott Dec 18, 2022
73ed0f8
Bump Microsoft.CodeCoverage (#187)
dependabot[bot] Jan 3, 2023
1d09284
Switch code coverage from static to dynamic instrumentation
AArnott Jan 4, 2023
7fc393e
Merge latest Library.Template
AArnott Jan 5, 2023
8698f2c
Retarget frameworks
AArnott Jan 5, 2023
f9fc9d4
Remove redundant usings
AArnott Jan 5, 2023
4fd56a8
Remove redundant `#nullable enable` directives
AArnott Jan 5, 2023
b4f3590
Use namespace statements instead of blocks
AArnott Jan 5, 2023
d0416f1
Remove machine-specific debugging file
AArnott Jan 5, 2023
b7dcd4a
Fixup pipeline build
AArnott Jan 5, 2023
411d7d7
Skip Windows-specific tests on non-Windows agents
AArnott Jan 5, 2023
210576a
Enable mac build by default
AArnott Jan 5, 2023
a76c800
Disable code coverage because the files are empty and an error results
AArnott Jan 5, 2023
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
14 changes: 14 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Refer to https://hub.docker.com/_/microsoft-dotnet-sdk for available versions
FROM mcr.microsoft.com/dotnet/sdk:7.0.101-jammy

# Installing mono makes `dotnet test` work without errors even for net472.
# But installing it takes a long time, so it's excluded by default.
#RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
#RUN echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | tee /etc/apt/sources.list.d/mono-official-stable.list
#RUN apt-get update
#RUN DEBIAN_FRONTEND=noninteractive apt-get install -y mono-devel

# Clear the NUGET_XMLDOC_MODE env var so xml api doc files get unpacked, allowing a rich experience in Intellisense.
# See https://github.com/dotnet/dotnet-docker/issues/2790 for a discussion on this, where the prioritized use case
# was *not* devcontainers, sadly.
ENV NUGET_XMLDOC_MODE=
20 changes: 20 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "Dev space",
"dockerFile": "Dockerfile",
"settings": {
"terminal.integrated.shell.linux": "/usr/bin/pwsh"
},
"postCreateCommand": "./init.ps1 -InstallLocality machine",
"extensions": [
"ms-azure-devops.azure-pipelines",
"ms-dotnettools.csharp",
"k--kato.docomment",
"editorconfig.editorconfig",
"pflannery.vscode-versionlens",
"davidanson.vscode-markdownlint",
"dotjoshjohnson.xml",
"ms-vscode-remote.remote-containers",
"ms-azuretools.vscode-docker",
"ms-vscode.powershell"
]
}
30 changes: 25 additions & 5 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,28 @@ indent_style = space

# (Please don't specify an indent_size here; that has too many unintended consequences.)

[*.yml]
indent_size = 2
indent_style = space

# Code files
[*.{cs,csx,vb,vbx,h,cpp,idl}]
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

# Xml project files
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj,msbuildproj}]
indent_size = 2

# Xml config files
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct,runsettings}]
indent_size = 2

# JSON files
[*.json]
indent_size = 2
indent_style = space

# Dotnet code style settings:
[*.{cs,vb}]
Expand Down Expand Up @@ -124,9 +129,9 @@ csharp_indent_switch_labels = true
csharp_indent_labels = flush_left

# Prefer "var" everywhere
csharp_style_var_for_built_in_types = true:suggestion
csharp_style_var_for_built_in_types = false
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_style_var_elsewhere = false:suggestion
csharp_style_var_elsewhere = false:warning

# Prefer method-like constructs to have a block body
csharp_style_expression_bodied_methods = false:none
Expand Down Expand Up @@ -157,4 +162,19 @@ csharp_new_line_before_members_in_anonymous_types = true
csharp_prefer_braces = true:silent

# SA1130: Use lambda syntax
dotnet_diagnostic.SA1130.severity = none
dotnet_diagnostic.SA1130.severity = silent

# IDE1006: Naming Styles - StyleCop handles these for us
dotnet_diagnostic.IDE1006.severity = none

dotnet_diagnostic.DOC100.severity = silent
dotnet_diagnostic.DOC104.severity = warning
dotnet_diagnostic.DOC105.severity = warning
dotnet_diagnostic.DOC106.severity = warning
dotnet_diagnostic.DOC107.severity = warning
dotnet_diagnostic.DOC108.severity = warning
dotnet_diagnostic.DOC200.severity = warning
dotnet_diagnostic.DOC202.severity = warning

[*.sln]
indent_style = tab
10 changes: 7 additions & 3 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
###############################################################################
* text=auto

# Ensure shell scripts use LF line endings (linux only accepts LF)
*.sh eol=lf
*.ps1 eol=lf

###############################################################################
# Set default behavior for command prompt diff.
#
Expand All @@ -17,7 +21,7 @@
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
Expand Down Expand Up @@ -46,9 +50,9 @@

###############################################################################
# diff behavior for common document formats
#
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
Expand Down
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: nuget
directory: /
schedule:
interval: monthly
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
*.user
*.userosscache
*.sln.docstates
*.lutconfig
launchSettings.json

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
Expand Down Expand Up @@ -138,6 +140,7 @@ _TeamCity*
# Visual Studio code coverage results
*.coverage
*.coveragexml
/coveragereport/

# NCrunch
_NCrunch_*
Expand Down
6 changes: 4 additions & 2 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"ms-azure-devops.azure-pipelines",
"ms-vscode.csharp",
"ms-dotnettools.csharp",
"k--kato.docomment",
"editorconfig.editorconfig",
"pflannery.vscode-versionlens",
"davidanson.vscode-markdownlint",
"dotjoshjohnson.xml"
"dotjoshjohnson.xml",
"ms-vscode-remote.remote-containers",
"ms-azuretools.vscode-docker"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": []
Expand Down
14 changes: 14 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
]
}
9 changes: 6 additions & 3 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"omnisharp.enableEditorConfigSupport": true,
"omnisharp.enableImportCompletion": true,
"omnisharp.enableRoslynAnalyzers": true
}
17 changes: 17 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
}
]
}
43 changes: 21 additions & 22 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,34 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<RepoRootPath>$(MSBuildThisFileDirectory)</RepoRootPath>
<BaseIntermediateOutputPath>$(RepoRootPath)obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<BaseIntermediateOutputPath>$(RepoRootPath)obj\$([MSBuild]::MakeRelative($(RepoRootPath), $(MSBuildProjectDirectory)))\</BaseIntermediateOutputPath>
<BaseOutputPath Condition=" '$(BaseOutputPath)' == '' ">$(RepoRootPath)bin\$(MSBuildProjectName)\</BaseOutputPath>
<PackageOutputPath>$(RepoRootPath)bin\Packages\$(Configuration)\</PackageOutputPath>
<LangVersion>9.0</LangVersion>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<AnalysisLevel>latest</AnalysisLevel>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
<EnableWindowsTargeting>true</EnableWindowsTargeting>
<TargetingWindows Condition=" '$(TargetFramework)' == 'net472' or $(TargetFramework.EndsWith('-windows')) ">true</TargetingWindows>

<!-- https://github.com/dotnet/msbuild/blob/main/documentation/ProjectReference-Protocol.md#setplatform-negotiation -->
<EnableDynamicPlatformResolution>true</EnableDynamicPlatformResolution>

<!-- Opt in till https://github.com/NuGet/Home/issues/9803 makes this the default. -->
<!-- Opt back out until an SDK with the fix for https://github.com/NuGet/Home/issues/12177 is generally available. -->
<RestoreUseStaticGraphEvaluation>false</RestoreUseStaticGraphEvaluation>

<!-- This entire repo has just one version.json file, so compute the version once and share with all projects in a large build. -->
<GitVersionBaseDirectory>$(MSBuildThisFileDirectory)</GitVersionBaseDirectory>

<!-- Local builds should embed PDBs so we never lose them when a subsequent build occurs. -->
<DebugType Condition=" '$(CI)' != 'true' and '$(TF_BUILD)' != 'true' ">embedded</DebugType>

<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)\strongname.snk</AssemblyOriginatorKeyFile>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)strongname.snk</AssemblyOriginatorKeyFile>

<Company>Andrew Arnott</Company>
<Authors>Andrew Arnott</Authors>
Expand All @@ -26,18 +40,11 @@
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols Condition=" '$(DebugType)' != 'embedded' ">true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="5.0.3" PrivateAssets="all" />
<PackageReference Include="Microsoft.Net.Compilers.Toolset" Version="3.9.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="all" />
<PackageReference Include="Nerdbank.GitVersioning" Version="3.3.37" PrivateAssets="all" />
<PackageReference Include="Nullable" Version="1.3.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.321" PrivateAssets="all" />
</ItemGroup>
<PropertyGroup Condition="'$(TargetingWindows)'=='true'">
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>

<ItemGroup>
<AdditionalFiles Include="$(MSBuildThisFileDirectory)stylecop.json" Link="stylecop.json" />
Expand All @@ -61,23 +68,15 @@

<!--
Inspired by https://github.com/dotnet/arcade/blob/cbfa29d4e859622ada3d226f90f103f659665d31/src/Microsoft.DotNet.Arcade.Sdk/tools/Workarounds.props#L14-L31
WPF temp-projects do not import .props and .targets files from NuGet packages.
(see https://github.com/dotnet/sourcelink/issues/91).

Property _TargetAssemblyProjectName is set by GenerateTemporaryTargetAssembly task.
Disable Source Link and Xliff in WPF temp projects to avoid generating non-deterministic file names to obj dir.
The project name is non-deterministic and is included in the Source Link json file name and xlf directory names.
It's also not necessary to generate these assets.
-->
<PropertyGroup Condition="'$(IsWpfTempProject)' == 'true'">
<_WpfTempProjectNuGetFilePathNoExt>$(RepoRootPath)obj\$(_TargetAssemblyProjectName)\$(_TargetAssemblyProjectName)$(MSBuildProjectExtension).nuget.g</_WpfTempProjectNuGetFilePathNoExt>

<EnableSourceLink>false</EnableSourceLink>
<EmbedUntrackedSources>false</EmbedUntrackedSources>
<DeterministicSourcePaths>false</DeterministicSourcePaths>
<EnableXlfLocalization>false</EnableXlfLocalization>
</PropertyGroup>

<!-- Workaround https://github.com/dotnet/wpf/issues/810 -->
<Import Project="$(_WpfTempProjectNuGetFilePathNoExt).props" Condition="'$(_WpfTempProjectNuGetFilePathNoExt)' != '' and Exists('$(_WpfTempProjectNuGetFilePathNoExt).props')"/>
</Project>
5 changes: 4 additions & 1 deletion Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,8 @@
<EmbedUntrackedSources Condition=" '$(UseWPF)' == 'true' ">false</EmbedUntrackedSources>
</PropertyGroup>

<Import Project="$(_WpfTempProjectNuGetFilePathNoExt).targets" Condition="'$(_WpfTempProjectNuGetFilePathNoExt)' != '' and Exists('$(_WpfTempProjectNuGetFilePathNoExt).targets')"/>
<ItemGroup>
<!-- Avoid compile error about missing namespace when combining ImplicitUsings with .NET Framework target frameworks. -->
<Using Remove="System.Net.Http" Condition="'$(TargetFrameworkIdentifier)'=='.NETFramework'" />
</ItemGroup>
</Project>
25 changes: 25 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<Project>
<!-- https://learn.microsoft.com/nuget/consume-packages/central-package-management -->
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Microsoft.CodeAnalysis.PublicApiAnalyzers" Version="3.3.3" />
<PackageVersion Include="Microsoft.CodeCoverage" Version="17.5.0-release-20221220-01" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
<PackageVersion Include="xunit.extensibility.execution" Version="2.4.1" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.4.1" />
<PackageVersion Include="xunit" Version="2.4.1" />
</ItemGroup>
<ItemGroup>
<GlobalPackageReference Include="CSharpIsNullAnalyzer" Version="0.1.329" />
<GlobalPackageReference Include="DotNetAnalyzers.DocumentationAnalyzers" Version="1.0.0-beta.59" />
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.5.119" />
<GlobalPackageReference Include="Nullable" Version="1.3.1" />
<GlobalPackageReference Include="StyleCop.Analyzers.Unstable" Version="1.2.0.435" />
</ItemGroup>
<ItemGroup>
<GlobalPackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions Xunit.StaFact.sln
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
azure-pipelines.yml = azure-pipelines.yml
Directory.Build.props = Directory.Build.props
Directory.Build.targets = Directory.Build.targets
Directory.Packages.props = Directory.Packages.props
global.json = global.json
nuget.config = nuget.config
README.md = README.md
Expand Down
17 changes: 12 additions & 5 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
trigger:
batch: true
branches:
include:
- main
Expand All @@ -10,22 +11,28 @@ trigger:
- '*.md'
- .vscode/
- .github/
- azure-pipelines/release.yml

parameters:
- name: includeMacOS
displayName: Build on macOS
type: boolean
default: false # macOS is often bogged down in Azure Pipelines
default: true # macOS is often bogged down in Azure Pipelines
- name: RunTests
displayName: Run tests
type: boolean
default: true

variables:
TreatWarningsAsErrors: true
MSBuildTreatWarningsAsErrors: true
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
BuildConfiguration: Release
BuildPlatform: Any CPU
ci_feed: 6ed146e5-8e9c-46d6-a40f-da9367ed50cd/c20edbb7-8403-4456-8f43-f46b47e360b1
NUGET_PACKAGES: $(Agent.TempDirectory)/.nuget/packages
codecov_token: 28b5dadd-72f7-4da5-a2c8-516d38bbfac7
ci_feed: https://pkgs.dev.azure.com/andrewarnott/OSS/_packaging/PublicCI/nuget/v3/index.json
NUGET_PACKAGES: $(Agent.TempDirectory)/.nuget/packages/

jobs:
- template: azure-pipelines/build.yml
parameters:
includeMacOS: ${{ parameters.includeMacOS }}
RunTests: ${{ parameters.RunTests }}
Loading