Skip to content

Commit

Permalink
Updates for code coverage tools and process
Browse files Browse the repository at this point in the history
  • Loading branch information
TimHess committed Jun 3, 2020
1 parent 7a39e36 commit 0175551
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 21 deletions.
22 changes: 22 additions & 0 deletions DeterministicBuild.targets
@@ -0,0 +1,22 @@
<!-- Workaround. Remove once we're on 3.1.300+
https://github.com/dotnet/sourcelink/issues/572 -->
<Project>
<PropertyGroup>
<TargetFrameworkMonikerAssemblyAttributesPath>$([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)'))</TargetFrameworkMonikerAssemblyAttributesPath>
</PropertyGroup>
<ItemGroup>
<EmbeddedFiles Include="$(GeneratedAssemblyInfoFile)"/>
</ItemGroup>
<ItemGroup>
<SourceRoot Include="$(NuGetPackageRoot)" />
</ItemGroup>

<Target Name="CoverletGetPathMap"
DependsOnTargets="InitializeSourceRootMappedPaths"
Returns="@(_LocalTopLevelSourceRoot)"
Condition="'$(DeterministicSourcePaths)' == 'true'">
<ItemGroup>
<_LocalTopLevelSourceRoot Include="@(SourceRoot)" Condition="'%(SourceRoot.NestedRoot)' == ''"/>
</ItemGroup>
</Target>
</Project>
4 changes: 4 additions & 0 deletions Directory.Build.targets
@@ -0,0 +1,4 @@
<Project>
<!-- Deterministic build workaround -->
<Import Project="$(MSBuildThisFileDirectory)DeterministicBuild.targets" />
</Project>
61 changes: 43 additions & 18 deletions azure-pipelines.yml
Expand Up @@ -28,6 +28,16 @@ jobs:
inputs:
filePath: src/Connectors/EnableGemFire.ps1
arguments: $(PivNetAPIToken)
- task: UseDotNet@2
displayName: 'Install .NET Core 2.x SDK'
inputs:
packageType: sdk
version: 2.1.806
- task: UseDotNet@2
displayName: 'Install .NET Core 3.x SDK'
inputs:
packageType: sdk
version: 3.1.300
- task: DotNetCoreCLI@2
displayName: dotnet restore
inputs:
Expand All @@ -44,7 +54,7 @@ jobs:
inputs:
command: test
projects: '**/*.Test/*.csproj'
arguments: '-c $(buildConfiguration) -maxcpucount:1 --filter "Category!=SkipOnLinux"'
arguments: '--no-build -c $(buildConfiguration) -maxcpucount:1 --filter "Category!=SkipOnLinux"'
- job: MacOS_Build_and_Test
pool:
vmImage: 'macOS-latest'
Expand All @@ -58,12 +68,12 @@ jobs:
displayName: 'Install .NET Core 2.x SDK'
inputs:
packageType: sdk
version: 2.2.300
version: 2.1.806
- task: UseDotNet@2
displayName: 'Install .NET Core 3.x SDK'
inputs:
packageType: sdk
version: 3.0.100
version: 3.1.300
- task: DotNetCoreCLI@2
displayName: dotnet restore
inputs:
Expand All @@ -80,7 +90,7 @@ jobs:
inputs:
command: test
projects: '**/*.Test/*.csproj'
arguments: '-c $(buildConfiguration) -maxcpucount:1 --filter "Category!=SkipOnMacOS"'
arguments: '--no-build -c $(buildConfiguration) -maxcpucount:1 --filter "Category!=SkipOnMacOS"'
- job: Windows_Build_Test_and_Package
timeoutInMinutes: 90
pool:
Expand All @@ -105,6 +115,16 @@ jobs:
inputs:
filePath: src/Connectors/EnableGemFire.ps1
arguments: $(PivNetAPIToken)
- task: UseDotNet@2
displayName: 'Install .NET Core 2.x SDK'
inputs:
packageType: sdk
version: 2.1.806
- task: UseDotNet@2
displayName: 'Install .NET Core 3.x SDK'
inputs:
packageType: sdk
version: 3.1.300
- task: DotNetCoreCLI@2
displayName: dotnet restore
inputs:
Expand All @@ -117,29 +137,28 @@ jobs:
organization: 'steeltoeoss'
projectKey: 'SteeltoeOSS_steeltoe'
extraProperties: |
sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)/**/coverage.opencover.xml
sonar.cs.vstest.reportsPaths=$(Agent.TempDirectory)/*.trx
sonar.exclusions=$(Build.SourcesDirectory)/src/Management/OpenCensus, $(Build.SourcesDirectory)/src/Management/OpenCensus.*
sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)\**\*opencover.xml
sonar.cs.vstest.reportsPaths=$(Agent.TempDirectory)\*.trx
sonar.exclusions=$(Build.SourcesDirectory)\src\Management\OpenCensus*
sonar.coverage.exclusions=**/*Test*/**/*
- task: DotNetCoreCLI@2
displayName: dotnet pack
displayName: dotnet build
inputs:
command: 'pack'
command: 'build'
feedsToUse: 'select'
arguments: '--no-restore -c $(buildConfiguration) /p:TreatWarningsAsErrors=True /p:VersionPrefix=$(VersionPrefix) /p:VersionSuffix=$(VersionSuffix)'
packagesToPack: 'src/Steeltoe.All.sln'
arguments: '--no-restore -c $(buildConfiguration) /p:VersionPrefix=$(VersionPrefix) /p:VersionSuffix=$(VersionSuffix)'
projects: 'src/Steeltoe.All.sln'
versioningScheme: 'byEnvVar'
versionEnvVar: PackageVersion
- task: DotNetCoreCLI@2
displayName: dotnet test
inputs:
command: test
projects: 'src/Steeltoe.All.sln'
arguments: '-c $(buildConfiguration) -maxcpucount:1 /p:TreatWarningsAsErrors=True /p:CopyLocalLockFileAssemblies=true --filter "Category!=Integration" /p:CollectCoverage=true /p:CoverletOutputFormat="opencover" /p:Include="[Steeltoe.*]*" /p:Exclude="[*.Test]*"'
arguments: '--no-build -c $(buildConfiguration) -maxcpucount:1 /p:CopyLocalLockFileAssemblies=true --filter "Category!=Integration" /p:CollectCoverage=true /p:CoverletOutputFormat="opencover" /p:Include="[Steeltoe.*]*" /p:Exclude="[*.Test*]*%2c[*]Microsoft.Diagnostics*"'
# Generate the report using ReportGenerator (https://github.com/danielpalme/ReportGenerator)
# First install the tool on the machine, then run it
- pwsh: |
dotnet tool install -g dotnet-reportgenerator-globaltool
reportgenerator "-reports:**\coverage.opencover.xml" "-targetdir:$(Build.SourcesDirectory)\CodeCoverage" -reporttypes:Cobertura
- pwsh: dotnet tool install -g dotnet-reportgenerator-globaltool; reportgenerator "-reports:**\*.opencover.xml" "-targetdir:$(Build.SourcesDirectory)\CodeCoverage" -reporttypes:Cobertura
displayName: Create Code coverage report
condition: always()
# Publish the code coverage result (summary and web site)
Expand All @@ -152,9 +171,7 @@ jobs:
summaryFileLocation: '$(Build.SourcesDirectory)\CodeCoverage\Cobertura.xml'
reportDirectory: '$(Build.SourcesDirectory)\CodeCoverage'
condition: always()
- pwsh: |
choco install codecov
codecov -f "$(Build.SourcesDirectory)\CodeCoverage\Cobertura.xml" -t $env:CodeCovToken
- pwsh: choco install codecov --no-progress; codecov -f "$(Build.SourcesDirectory)\CodeCoverage\Cobertura.xml" -t $env:CodeCovToken
env:
CodeCovToken: $(CodeCovToken)
displayName: Install and Run CodeCov
Expand All @@ -165,6 +182,14 @@ jobs:
- task: SonarSource.sonarcloud.38b27399-a642-40af-bb7d-9971f69712e8.SonarCloudPublish@1
displayName: Publish Quality Gate Result
condition: always()
- task: DotNetCoreCLI@2
displayName: dotnet pack
inputs:
command: 'pack'
feedsToUse: 'select'
packagesToPack: 'src/Steeltoe.All.sln'
versioningScheme: 'byEnvVar'
versionEnvVar: PackageVersion
- task: PowerShell@2
displayName: Authenticode Sign Packages
inputs:
Expand Down
4 changes: 4 additions & 0 deletions sharedtest.props
Expand Up @@ -5,6 +5,10 @@
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(TF_BUILD)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
</PropertyGroup>
<ItemGroup>
<AdditionalFiles Include="..\..\..\..\stylecop.json">
<Link>stylecop.json</Link>
Expand Down
Expand Up @@ -4,7 +4,7 @@
<TargetFrameworks>netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition="$(OS.Contains('Win'))">
<TargetFrameworks>net461;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>net461;netcoreapp2.1</TargetFrameworks>
</PropertyGroup>
<Import Project="..\..\..\..\sharedtest.props" />
<Import Project="..\..\..\..\targetframework.props" />
Expand Down
4 changes: 2 additions & 2 deletions versions.props
Expand Up @@ -34,7 +34,7 @@
<AutofacVersion>4.6.1</AutofacVersion>
<BouncyCastleVersion>1.8.4</BouncyCastleVersion>
<ConsulVersion>0.7.2.6</ConsulVersion>
<CoverletVersion>2.7.0</CoverletVersion>
<CoverletVersion>2.9.0</CoverletVersion>
<HdrHistogramVersion>2.0.0</HdrHistogramVersion>
<HttpExtensionsVersion>2.1.0</HttpExtensionsVersion>
<DiagnosticsExtensionsVersion>2.2.5</DiagnosticsExtensionsVersion>
Expand All @@ -44,7 +44,7 @@
<OpenCensusVersion>0.1.0-alpha-42253</OpenCensusVersion>
<RabbitClientVersion>5.0.1</RabbitClientVersion>
<ReactiveVersion>4.1.5</ReactiveVersion>
<TestSdkVersion>16.3.0</TestSdkVersion>
<TestSdkVersion>16.6.1</TestSdkVersion>
<XunitAnalyzersVersion>0.9.0</XunitAnalyzersVersion>
<XunitVersion>2.4.1</XunitVersion>
<XunitStudioVersion>2.4.1</XunitStudioVersion>
Expand Down

0 comments on commit 0175551

Please sign in to comment.