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

Apply latest Library.Template #802

Merged
merged 452 commits into from
Sep 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
452 commits
Select commit Hold shift + click to select a range
6815389
Add devcontainer.json
AArnott Sep 25, 2020
e129428
Honor .editorconfig in Omnisharp
AArnott Sep 25, 2020
aed5ff6
Fix RootNamespace property to actually take effect
AArnott Sep 27, 2020
41d2e55
Use PowerShell as the preferred terminal
AArnott Sep 30, 2020
fa5d1e6
Bump Nerdbank.GitVersioning from 3.2.31 to 3.3.37 (#75)
dependabot[bot] Oct 13, 2020
bfd65cc
Print mono version in Azure Pipelines
AArnott Oct 20, 2020
5fdb244
Update dependencies monthly instead of weekly
AArnott Oct 21, 2020
4f2a035
Add release notes link to built package
AArnott Oct 22, 2020
958ffed
Avoid warnings in Expand-Template due to line endings
AArnott Oct 26, 2020
05b3324
Bump Microsoft.CodeAnalysis.FxCopAnalyzers from 3.3.0 to 3.3.1 (#76)
dependabot[bot] Nov 1, 2020
9c16ae2
Publish test symbols on failures
AArnott Nov 2, 2020
1719367
Merge pull request #77 from AArnott/publishTestSymbols
AArnott Nov 2, 2020
1ba2012
Remove macOS from Azure Pipeline runs
AArnott Nov 2, 2020
5666dc8
Merge pull request #78 from AArnott/removeMacOS
Nov 2, 2020
d4b9a6a
Capture binlog for test runs
AArnott Nov 3, 2020
c234c68
Update to .NET 5.0.100 SDK
AArnott Nov 11, 2020
d8b3fc0
Adapt to GitHub's new env and path operations
AArnott Nov 16, 2020
f4976e4
Merge pull request #80 from AArnott/fix79
Nov 16, 2020
759f964
Add .NET 5.0 as a tested runtime
AArnott Nov 17, 2020
80928a3
Update package dependencies
AArnott Nov 17, 2020
1aaddcf
Update code analysis
AArnott Dec 11, 2020
3ecde23
Update compiler toolset
AArnott Dec 11, 2020
20e2260
Download pdb2pdb from pkgs.dev.azure.com instead of dotnet.myget.org
AArnott Dec 14, 2020
ab92079
Merge pull request #83 from AArnott/avoidDotnetMyget
AArnott Dec 15, 2020
1e98c8f
Update source and pkg id for pdb2pdb tool
AArnott Dec 15, 2020
5c4edf6
Merge pull request #84 from AArnott/avoidDotnetMyget
Dec 15, 2020
e48583c
Update to .NET Core SDK 3.1.404
AArnott Dec 17, 2020
e36ce89
Bump Microsoft.NET.Test.Sdk from 16.8.0 to 16.8.3 (#85)
dependabot[bot] Jan 1, 2021
c8c97da
Remove [*.cs]
juchom Jan 7, 2021
100ae70
Merge pull request #87 from juchom/patch-1
AArnott Jan 7, 2021
e47af99
Remove protocolVersion attribute from nuget.config
AArnott Jan 15, 2021
e7e6de8
Bump coverlet.msbuild from 2.9.0 to 3.0.2 (#88)
dependabot[bot] Feb 2, 2021
17ccfd1
Update to .NET 5.0.102 SDK
AArnott Nov 11, 2020
72d3437
Update compilers
AArnott Feb 5, 2021
c85770d
Merge remote-tracking branch 'origin/master' into net50
AArnott Feb 5, 2021
6481ae7
Merge pull request #81 from AArnott/net50
AArnott Feb 5, 2021
fba5eed
Rename master branch to main
AArnott Feb 5, 2021
7d99336
Bump Microsoft.CodeAnalysis.NetAnalyzers from 5.0.1 to 5.0.3 (#89)
dependabot[bot] Feb 5, 2021
28f1b25
Consume newer PDB conversion package that is signed
AArnott Feb 5, 2021
b3f2ca3
Update dotnet-reportgenerator-globaltool to 4.8.5
AArnott Feb 5, 2021
87b0fe5
Merge remote-tracking branch 'refs/remotes/origin/main'
AArnott Feb 5, 2021
18b5902
Propagate failure to install .NET SDK
AArnott Feb 5, 2021
5355f20
Use pinned dotnet installer script
AArnott Feb 5, 2021
8228f9a
Merge pull request #91 from AArnott/noticeDotNetInstallFailure
Feb 5, 2021
9a5d988
Merge pull request #90 from AArnott/updateDeps
Feb 5, 2021
2152fb5
Update LangVersion to 9
AArnott Feb 6, 2021
a64ebcc
Update .NET installer script
AArnott Feb 8, 2021
7942ed6
Merge pull request #92 from AArnott/updateSdkInstallerScript
Feb 8, 2021
791acca
Embed PDBs for all local builds
AArnott Feb 18, 2021
2ebe738
Merge pull request #93 from AArnott/embedPDBs
AArnott Feb 18, 2021
c463b89
Produce ref assembly for better incremental build
AArnott Feb 19, 2021
c24318f
Update to .NET SDK 5.0.103
AArnott Feb 24, 2021
fb488e6
Sort PackageReference items
AArnott Feb 24, 2021
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
28e838e
Apply latest Library.Template
AArnott Sep 5, 2022
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ _TeamCity*
# Visual Studio code coverage results
*.coverage
*.coveragexml
/coveragereport/

# NCrunch
_NCrunch_*
Expand Down
8 changes: 4 additions & 4 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<DebugType>embedded</DebugType>

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

<Authors>Andrew Arnott</Authors>
<Owners>aarnott</Owners>
Expand All @@ -42,9 +42,9 @@
<ItemGroup>
<PackageReference Include="CSharpIsNullAnalyzer" Version="0.1.300" PrivateAssets="all" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="all" />
<PackageReference Include="Nullable" Version="1.3.0" PrivateAssets="all" />
<PackageReference Include="Nullable" Version="1.3.1" PrivateAssets="all" />
<!-- Use the Unstable package ID so that update tools will help us keep it current even though it seems to be ever-unstable lately. -->
<PackageReference Include="StyleCop.Analyzers.Unstable" Version="1.2.0.406" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers.Unstable" Version="1.2.0.435" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)3rdPartyNotices.txt" Pack="true" PackagePath="" />
Expand Down Expand Up @@ -81,7 +81,7 @@
It's also not necessary to generate these assets.
-->
<PropertyGroup Condition="'$(IsWpfTempProject)' == 'true'">
<_WpfTempProjectNuGetFilePathNoExt>$(RepoRootPath)obj\$(_TargetAssemblyProjectName)\$(_TargetAssemblyProjectName)$(MSBuildProjectExtension).nuget.g</_WpfTempProjectNuGetFilePathNoExt>
<_WpfTempProjectNuGetFilePathNoExt>$(BaseIntermediateOutputPath)..\$(_TargetAssemblyProjectName)\$(_TargetAssemblyProjectName)$(MSBuildProjectExtension).nuget.g</_WpfTempProjectNuGetFilePathNoExt>

<EnableSourceLink>false</EnableSourceLink>
<EmbedUntrackedSources>false</EmbedUntrackedSources>
Expand Down
9 changes: 9 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ trigger:
- .github/
- azure-pipelines/release.yml

parameters:
- name: RunTests
displayName: Run tests
type: boolean
default: true

resources:
containers:
- container: xenial
Expand All @@ -37,9 +43,12 @@ stages:
- stage: Build
jobs:
- template: azure-pipelines/build.yml
parameters:
RunTests: ${{ parameters.RunTests }}

- stage: Test
displayName: Functional testing
condition: and(succeeded(), ${{ parameters.RunTests }})
jobs:
- job: linux
strategy:
Expand Down
86 changes: 86 additions & 0 deletions azure-pipelines/Get-CodeCovTool.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<#
.SYNOPSIS
Downloads the CodeCov.io uploader tool and returns the path to it.
.PARAMETER AllowSkipVerify
Allows skipping signature verification of the downloaded tool if gpg is not installed.
#>
[CmdletBinding()]
Param(
[switch]$AllowSkipVerify
)

if ($IsMacOS) {
$codeCovUrl = "https://uploader.codecov.io/latest/macos/codecov"
$toolName = 'codecov'
}
elseif ($IsLinux) {
$codeCovUrl = "https://uploader.codecov.io/latest/linux/codecov"
$toolName = 'codecov'
}
else {
$codeCovUrl = "https://uploader.codecov.io/latest/windows/codecov.exe"
$toolName = 'codecov.exe'
}

$shaSuffix = ".SHA256SUM"
$sigSuffix = $shaSuffix + ".sig"

Function Get-FileFromWeb([Uri]$Uri, $OutDir) {
$OutFile = Join-Path $OutDir $Uri.Segments[-1]
if (!(Test-Path $OutFile)) {
Write-Verbose "Downloading $Uri..."
if (!(Test-Path $OutDir)) { New-Item -ItemType Directory -Path $OutDir | Out-Null }
try {
(New-Object System.Net.WebClient).DownloadFile($Uri, $OutFile)
} finally {
# This try/finally causes the script to abort
}
}

$OutFile
}

$toolsPath = & "$PSScriptRoot\Get-TempToolsPath.ps1"
$binaryToolsPath = Join-Path $toolsPath codecov
$testingPath = Join-Path $binaryToolsPath unverified
$finalToolPath = Join-Path $binaryToolsPath $toolName

if (!(Test-Path $finalToolPath)) {
if (Test-Path $testingPath) {
Remove-Item -Recurse -Force $testingPath # ensure we download all matching files
}
$tool = Get-FileFromWeb $codeCovUrl $testingPath
$sha = Get-FileFromWeb "$codeCovUrl$shaSuffix" $testingPath
$sig = Get-FileFromWeb "$codeCovUrl$sigSuffix" $testingPath
$key = Get-FileFromWeb https://keybase.io/codecovsecurity/pgp_keys.asc $testingPath

if ((Get-Command gpg -ErrorAction SilentlyContinue)) {
Write-Host "Importing codecov key" -ForegroundColor Yellow
gpg --import $key
Write-Host "Verifying signature on codecov hash" -ForegroundColor Yellow
gpg --verify $sig $sha
} else {
if ($AllowSkipVerify) {
Write-Warning "gpg not found. Unable to verify hash signature."
} else {
throw "gpg not found. Unable to verify hash signature. Install gpg or add -AllowSkipVerify to override."
}
}

Write-Host "Verifying hash on downloaded tool" -ForegroundColor Yellow
$actualHash = (Get-FileHash -Path $tool -Algorithm SHA256).Hash
$expectedHash = (Get-Content $sha).Split()[0]
if ($actualHash -ne $expectedHash) {
# Validation failed. Delete the tool so we can't execute it.
#Remove-Item $codeCovPath
throw "codecov uploader tool failed signature validation."
}

Copy-Item $tool $finalToolPath

if ($IsMacOS -or $IsLinux) {
chmod u+x $finalToolPath
}
}

return $finalToolPath
11 changes: 8 additions & 3 deletions azure-pipelines/Get-SymbolFiles.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Write-Progress -Activity $ActivityName -CurrentOperation "Discovery PDB files"
$PDBs = Get-ChildItem -rec "$Path/*.pdb"

# Filter PDBs to product OR test related.
$testregex = "unittest|tests"
$testregex = "unittest|tests|\.test\."

Write-Progress -Activity $ActivityName -CurrentOperation "De-duplicating symbols"
$PDBsByHash = @{}
Expand Down Expand Up @@ -49,8 +49,13 @@ $PDBs |% {
$BinaryImagePath = $dllPath
} elseif (Test-Path $exePath) {
$BinaryImagePath = $exePath
} else {
Write-Warning "`"$_`" found with no matching binary file."
$BinaryImagePath = $null
}

Write-Output $BinaryImagePath
Write-Output $_.FullName
if ($BinaryImagePath) {
Write-Output $BinaryImagePath
Write-Output $_.FullName
}
}
46 changes: 46 additions & 0 deletions azure-pipelines/Merge-CodeCoverage.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/usr/bin/env pwsh

<#
.SYNOPSIS
Merges code coverage reports.
.PARAMETER Path
The path(s) to search for Cobertura code coverage reports.
.PARAMETER Format
The format for the merged result. The default is Cobertura
.PARAMETER OutputDir
The directory the merged result will be written to. The default is `coveragereport` in the root of this repo.
#>
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true)]
[string[]]$Path,
[ValidateSet('Badges', 'Clover', 'Cobertura', 'CsvSummary', 'Html', 'Html_Dark', 'Html_Light', 'HtmlChart', 'HtmlInline', 'HtmlInline_AzurePipelines', 'HtmlInline_AzurePipelines_Dark', 'HtmlInline_AzurePipelines_Light', 'HtmlSummary', 'JsonSummary', 'Latex', 'LatexSummary', 'lcov', 'MarkdownSummary', 'MHtml', 'PngChart', 'SonarQube', 'TeamCitySummary', 'TextSummary', 'Xml', 'XmlSummary')]
[string]$Format='Cobertura',
[string]$OutputDir=("$PSScriptRoot/../coveragereport")
)

$RepoRoot = [string](Resolve-Path $PSScriptRoot/..)

if (!(Test-Path $RepoRoot/obj/reportgenerator*)) {
dotnet tool install --tool-path $RepoRoot/obj dotnet-reportgenerator-globaltool --version 5.1.9 --configfile $PSScriptRoot/justnugetorg.nuget.config
}

Write-Verbose "Searching $Path for *.cobertura.xml files"
$reports = Get-ChildItem -Recurse $Path -Filter *.cobertura.xml

if ($reports) {
$reports |% { $_.FullName } |% {
# In addition to replacing {reporoot}, we also normalize on one kind of slash so that the report aggregates data for a file whether data was collected on Windows or not.
$xml = [xml](Get-Content -Path $_)
$xml.coverage.packages.package.classes.class |? { $_.filename} |% {
$_.filename = $_.filename.Replace('{reporoot}', $RepoRoot).Replace([IO.Path]::AltDirectorySeparatorChar, [IO.Path]::DirectorySeparatorChar)
}

$xml.Save($_)
}

$Inputs = [string]::join(';', ($reports |% { Resolve-Path -relative $_.FullName }))
& "$RepoRoot/obj/reportgenerator" -reports:"$Inputs" -targetdir:$OutputDir -reporttypes:$Format
} else {
Write-Error "No reports found to merge."
}
1 change: 1 addition & 0 deletions azure-pipelines/artifacts/_all.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
Executes artifact scripts even if they have already been staged.
#>

[CmdletBinding(SupportsShouldProcess = $true)]
param (
[string]$ArtifactNameSuffix,
[switch]$Force
Expand Down
8 changes: 6 additions & 2 deletions azure-pipelines/artifacts/_pipelines.ps1
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# This script translates all the artifacts described by _all.ps1
# into commands that instruct Azure Pipelines to actually collect those artifacts.
<#
.SYNOPSIS
This script translates all the artifacts described by _all.ps1
into commands that instruct Azure Pipelines to actually collect those artifacts.
#>

[CmdletBinding()]
param (
[string]$ArtifactNameSuffix,
[switch]$StageOnly
Expand Down
10 changes: 7 additions & 3 deletions azure-pipelines/artifacts/_stage_all.ps1
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# This script links all the artifacts described by _all.ps1
# into a staging directory, reading for uploading to a cloud build artifact store.
# It returns a sequence of objects with Name and Path properties.
<#
.SYNOPSIS
This script links all the artifacts described by _all.ps1
into a staging directory, reading for uploading to a cloud build artifact store.
It returns a sequence of objects with Name and Path properties.
#>

[CmdletBinding()]
param (
[string]$ArtifactNameSuffix
Expand Down
7 changes: 4 additions & 3 deletions azure-pipelines/artifacts/coverageResults.ps1
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
$RepoRoot = [System.IO.Path]::GetFullPath("$PSScriptRoot\..\..")

$coverageFiles = @(Get-ChildItem "$RepoRoot/test/*.cobertura.xml" -Recurse | Where {$_.FullName -notlike "*/In/*" -and $_.FullName -notlike "*\In\*" })

# Prepare code coverage reports for merging on another machine
if ($env:SYSTEM_DEFAULTWORKINGDIRECTORY) {
Write-Host "Substituting $env:SYSTEM_DEFAULTWORKINGDIRECTORY with `"{reporoot}`""
$reports = Get-ChildItem "$RepoRoot/bin/coverage.*cobertura.xml" -Recurse
$reports |% {
$coverageFiles |% {
$content = Get-Content -Path $_ |% { $_ -Replace [regex]::Escape($env:SYSTEM_DEFAULTWORKINGDIRECTORY), "{reporoot}" }
Set-Content -Path $_ -Value $content -Encoding UTF8
}
Expand All @@ -16,7 +17,7 @@ if (!((Test-Path $RepoRoot\bin) -and (Test-Path $RepoRoot\obj))) { return }

@{
$RepoRoot = (
@(Get-ChildItem "$RepoRoot\bin\coverage.*cobertura.xml" -Recurse) +
$coverageFiles +
(Get-ChildItem "$RepoRoot\obj\*.cs" -Recurse)
);
}
17 changes: 6 additions & 11 deletions azure-pipelines/artifacts/testResults.ps1
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
[CmdletBinding()]
Param(
)

$result = @{}

if ($env:AGENT_TEMPDIRECTORY) {
# The DotNetCoreCLI uses an alternate location to publish these files
$guidRegex = '^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$'
$result[$env:AGENT_TEMPDIRECTORY] = (Get-ChildItem $env:AGENT_TEMPDIRECTORY -Directory |? { $_.Name -match $guidRegex } |% {
Get-ChildItem "$($_.FullName)\dotnet*.dmp","$($_.FullName)\*_crashdump.dmp","$($_.FullName)\testhost*.dmp","$($_.FullName)\Sequence_*.xml" -Recurse
});
}
else {
$testRoot = Resolve-Path "$PSScriptRoot\..\..\test"
$result[$testRoot] = (Get-ChildItem "$testRoot\TestResults" -Recurse -Directory | Get-ChildItem -Recurse -File)
}
$testRoot = Resolve-Path "$PSScriptRoot\..\..\test"
$result[$testRoot] = (Get-ChildItem "$testRoot\TestResults" -Recurse -Directory | Get-ChildItem -Recurse -File)

$testlogsPath = "$env:BUILD_ARTIFACTSTAGINGDIRECTORY\test_logs"
if (Test-Path $testlogsPath) {
Expand Down
16 changes: 11 additions & 5 deletions azure-pipelines/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ parameters:
type: object
default:
vmImage: windows-2022
- name: RunTests
type: boolean
default: true

jobs:
- job: Windows
Expand All @@ -21,24 +24,26 @@ jobs:
Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile dotnet-install.ps1
& .\dotnet-install.ps1 -Architecture x86 -Channel 3.1 -InstallDir "C:\Program Files (x86)\dotnet\" -NoPath -Verbose -Runtime dotnet
& .\dotnet-install.ps1 -Architecture x86 -Version 6.0.301 -InstallDir "C:\Program Files (x86)\dotnet\" -NoPath -Verbose
displayName: Install 32-bit .NET SDK and runtimes
displayName: Install 32-bit .NET SDK and runtimes

- powershell: '& (./azure-pipelines/Get-nbgv.ps1) cloud -c'
displayName: Set build number
displayName: Set build number

- template: dotnet.yml
parameters:
RunTests: ${{ parameters.RunTests }}

- job: Linux
pool:
vmImage: Ubuntu 20.04
variables:
testModifier: -f net6.0
steps:
- checkout: self
clean: true
submodules: true # keep the warnings quiet about the wiki not being enlisted
- template: install-dependencies.yml
- template: dotnet.yml
parameters:
RunTests: ${{ parameters.RunTests }}

- job: WrapUp
dependsOn:
Expand All @@ -52,5 +57,6 @@ jobs:
- template: install-dependencies.yml
parameters:
initArgs: -NoRestore
- template: publish-codecoverage.yml
- ${{ if parameters.RunTests }}:
- template: publish-codecoverage.yml
- template: publish-deployables.yml
3 changes: 2 additions & 1 deletion azure-pipelines/dotnet-test-cloud.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ if ($x86) {
--no-build `
-c $Configuration `
--filter "TestCategory!=FailsInCloudTest" `
-p:CollectCoverage=true `
--collect "Code Coverage;Format=cobertura" `
--settings "$PSScriptRoot/test.runsettings" `
--blame-hang-timeout 60s `
--blame-crash `
-bl:"$ArtifactStagingFolder/build_logs/test.binlog" `
Expand Down
Loading