mirror of
https://github.com/Radarr/Radarr.git
synced 2024-10-03 22:57:18 +02:00
New: Hookup SonarCloud
This commit is contained in:
parent
12245d0956
commit
2633c82a01
@ -624,9 +624,9 @@ stages:
|
|||||||
displayName: Move Package Contents
|
displayName: Move Package Contents
|
||||||
- bash: |
|
- bash: |
|
||||||
if [[ $OSNAME == "Mac" ]]; then
|
if [[ $OSNAME == "Mac" ]]; then
|
||||||
url=https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-macos.tar.gz
|
url=https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-macos.tar.gz
|
||||||
elif [[ $OSNAME == "Linux" ]]; then
|
elif [[ $OSNAME == "Linux" ]]; then
|
||||||
url=https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz
|
url=https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz
|
||||||
else
|
else
|
||||||
echo "Unhandled OS"
|
echo "Unhandled OS"
|
||||||
exit 1
|
exit 1
|
||||||
@ -682,66 +682,69 @@ stages:
|
|||||||
env:
|
env:
|
||||||
FORCE_COLOR: 0
|
FORCE_COLOR: 0
|
||||||
|
|
||||||
# - job: Analyze_Frontend
|
- job: Analyze_Frontend
|
||||||
# displayName: Frontend
|
displayName: Frontend
|
||||||
# condition: eq(variables['system.pullrequest.isfork'], false)
|
pool:
|
||||||
# pool:
|
vmImage: windows-2019
|
||||||
# vmImage: windows-2019
|
steps:
|
||||||
# steps:
|
- checkout: self # Need history for Sonar analysis
|
||||||
# - checkout: self # Need history for Sonar analysis
|
- task: SonarCloudPrepare@1
|
||||||
# - task: SonarCloudPrepare@1
|
env:
|
||||||
# env:
|
SONAR_SCANNER_OPTS: ''
|
||||||
# SONAR_SCANNER_OPTS: ''
|
inputs:
|
||||||
# inputs:
|
SonarCloud: 'SonarCloud'
|
||||||
# SonarCloud: 'SonarCloud'
|
organization: 'radarr'
|
||||||
# organization: 'radarr'
|
scannerMode: 'CLI'
|
||||||
# scannerMode: 'CLI'
|
configMode: 'manual'
|
||||||
# configMode: 'manual'
|
cliProjectKey: 'Radarr_Radarr.UI'
|
||||||
# cliProjectKey: 'radarr_Radarr.UI'
|
cliProjectName: 'RadarrI'
|
||||||
# cliProjectName: 'RadarrUI'
|
cliProjectVersion: '$(radarrVersion)'
|
||||||
# cliProjectVersion: '$(radarrVersion)'
|
cliSources: './frontend'
|
||||||
# cliSources: './frontend'
|
- task: SonarCloudAnalyze@1
|
||||||
# - task: SonarCloudAnalyze@1
|
|
||||||
|
|
||||||
# - job: Analyze_Backend
|
- job: Analyze_Backend
|
||||||
# displayName: Backend
|
displayName: Backend
|
||||||
# condition: eq(variables['system.pullrequest.isfork'], false)
|
pool:
|
||||||
# pool:
|
vmImage: windows-2019
|
||||||
# vmImage: windows-2019
|
variables:
|
||||||
# steps:
|
disable.coverage.autogenerate: 'true'
|
||||||
# - checkout: self # Need history for Sonar analysis
|
steps:
|
||||||
# submodules: true
|
- task: UseDotNet@2
|
||||||
# - task: UseDotNet@2
|
displayName: 'Install .net core'
|
||||||
# displayName: 'Install .net core'
|
inputs:
|
||||||
# inputs:
|
version: $(dotnetVersion)
|
||||||
# version: $(dotnetVersion)
|
- checkout: self # Need history for Sonar analysis
|
||||||
# - task: SonarCloudPrepare@1
|
submodules: true
|
||||||
# inputs:
|
- powershell: Set-Service SCardSvr -StartupType Manual
|
||||||
# SonarCloud: 'SonarCloud'
|
displayName: Enable Windows Test Service
|
||||||
# organization: 'radarr'
|
- task: SonarCloudPrepare@1
|
||||||
# scannerMode: 'MSBuild'
|
inputs:
|
||||||
# projectKey: 'radarr_Radarr'
|
SonarCloud: 'SonarCloud'
|
||||||
# projectName: 'Radarr'
|
organization: 'radarr'
|
||||||
# projectVersion: '$(radarrVersion)'
|
scannerMode: 'MSBuild'
|
||||||
# extraProperties: |
|
projectKey: 'Radarr_Radarr'
|
||||||
# sonar.exclusions=**/obj/**,**/*.dll,**/NzbDrone.Core.Test/Files/**/*,./frontend/**,**/ExternalModules/**,./src/Libraries/**
|
projectName: 'Radarr'
|
||||||
# sonar.coverage.exclusions=**/Radarr.Api.V1/**/*,**/MonoTorrent/**/*,**/Marr.Data/**/*
|
projectVersion: '$(radarrVersion)'
|
||||||
# sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)/_tests/CoverageResults/coverage.opencover.xml
|
extraProperties: |
|
||||||
# sonar.cs.nunit.reportsPaths=$(Build.SourcesDirectory)/TestResult.xml
|
sonar.exclusions=**/obj/**,**/*.dll,**/NzbDrone.Core.Test/Files/**/*,./frontend/**,**/ExternalModules/**,./src/Libraries/**
|
||||||
# - task: DotNetCoreCLI@2
|
sonar.coverage.exclusions=**/Radarr.Api.V3/**/*,**/Radarr.Api/**/*,**/MonoTorrent/**/*,**/Marr.Data/**/*
|
||||||
# displayName: Build backend
|
sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)/CoverageResults/**/coverage.opencover.xml
|
||||||
# inputs:
|
sonar.cs.nunit.reportsPaths=$(Build.SourcesDirectory)/TestResult.xml
|
||||||
# command: 'build'
|
- bash: |
|
||||||
# projects: 'src/Radarr.Windows.sln'
|
./build.sh --backend -f netcoreapp3.1 -r win-x64
|
||||||
# - task: Bash@3
|
TEST_DIR=_tests/netcoreapp3.1/win-x64/publish/ ./test.sh Windows Unit Coverage
|
||||||
# displayName: Coverage Unit Tests
|
displayName: Coverage Unit Tests
|
||||||
# inputs:
|
- task: SonarCloudAnalyze@1
|
||||||
# targetType: 'filePath'
|
displayName: Publish SonarCloud Results
|
||||||
# filePath: ./test.sh
|
- task: reportgenerator@4
|
||||||
# arguments: Windows Unit Coverage
|
displayName: Generate Coverage Report
|
||||||
# - task: PublishCodeCoverageResults@1
|
inputs:
|
||||||
# displayName: Publish Coverage Results
|
reports: '$(Build.SourcesDirectory)/CoverageResults/**/coverage.opencover.xml'
|
||||||
# inputs:
|
targetdir: '$(Build.SourcesDirectory)/CoverageResults/combined'
|
||||||
# codeCoverageTool: 'cobertura'
|
reporttypes: 'HtmlInline_AzurePipelines;Cobertura;Badges'
|
||||||
# summaryFileLocation: './_tests/CoverageResults/coverage.cobertura.xml'
|
- task: PublishCodeCoverageResults@1
|
||||||
# - task: SonarCloudAnalyze@1
|
displayName: Publish Coverage Report
|
||||||
|
inputs:
|
||||||
|
codeCoverageTool: 'cobertura'
|
||||||
|
summaryFileLocation: './CoverageResults/combined/Cobertura.xml'
|
||||||
|
reportDirectory: './CoverageResults/combined/'
|
@ -9,6 +9,9 @@
|
|||||||
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
||||||
<PackageReference Include="NBuilder" Version="6.0.1" />
|
<PackageReference Include="NBuilder" Version="6.0.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
|
||||||
|
<PackageReference Include="coverlet.collector" Version="1.1.0" PrivateAssets="all" />
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Core\Radarr.Core.csproj" />
|
<ProjectReference Include="..\NzbDrone.Core\Radarr.Core.csproj" />
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
|
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
|
||||||
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
|
||||||
|
<PackageReference Include="coverlet.collector" Version="1.1.0" PrivateAssets="all" />
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Host\Radarr.Host.csproj" />
|
<ProjectReference Include="..\NzbDrone.Host\Radarr.Host.csproj" />
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
||||||
|
@ -10,6 +10,9 @@
|
|||||||
<PackageReference Include="NBuilder" Version="6.0.1" />
|
<PackageReference Include="NBuilder" Version="6.0.1" />
|
||||||
<PackageReference Include="System.Data.SQLite.Core.Lidarr" Version="1.0.111.0-5" />
|
<PackageReference Include="System.Data.SQLite.Core.Lidarr" Version="1.0.111.0-5" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
|
||||||
|
<PackageReference Include="coverlet.collector" Version="1.1.0" PrivateAssets="all" />
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
||||||
<ProjectReference Include="..\NzbDrone.Core\Radarr.Core.csproj" />
|
<ProjectReference Include="..\NzbDrone.Core\Radarr.Core.csproj" />
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
|
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
|
||||||
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
|
||||||
|
<PackageReference Include="coverlet.collector" Version="1.1.0" PrivateAssets="all" />
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Host\Radarr.Host.csproj" />
|
<ProjectReference Include="..\NzbDrone.Host\Radarr.Host.csproj" />
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
|
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
|
||||||
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
|
||||||
|
<PackageReference Include="coverlet.collector" Version="1.1.0" PrivateAssets="all" />
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
See https://github.com/xamarin/XamarinComponents/issues/282
|
See https://github.com/xamarin/XamarinComponents/issues/282
|
||||||
-->
|
-->
|
||||||
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
|
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
|
||||||
|
<PackageReference Include="coverlet.collector" Version="1.1.0" PrivateAssets="all" />
|
||||||
<PackageReference Include="Mono.Posix.NETStandard" Version="1.0.0" />
|
<PackageReference Include="Mono.Posix.NETStandard" Version="1.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
|
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
|
||||||
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
|
||||||
|
<PackageReference Include="coverlet.collector" Version="1.1.0" PrivateAssets="all" />
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
||||||
<ProjectReference Include="..\NzbDrone.Update\Radarr.Update.csproj" />
|
<ProjectReference Include="..\NzbDrone.Update\Radarr.Update.csproj" />
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
|
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
|
||||||
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
|
||||||
|
<PackageReference Include="coverlet.collector" Version="1.1.0" PrivateAssets="all" />
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Common.Test\Radarr.Common.Test.csproj" />
|
<ProjectReference Include="..\NzbDrone.Common.Test\Radarr.Common.Test.csproj" />
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />
|
||||||
|
21
src/coverlet.runsettings
Normal file
21
src/coverlet.runsettings
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<RunSettings>
|
||||||
|
<DataCollectionRunSettings>
|
||||||
|
<DataCollectors>
|
||||||
|
<DataCollector friendlyName="XPlat code coverage">
|
||||||
|
<Configuration>
|
||||||
|
<Format>opencover</Format>
|
||||||
|
<Exclude>[Radarr.*.Test]*,[Radarr.Test.*]*,[Radarr.Api*]*,[Marr.Data]*,[MonoTorrent]*</Exclude>
|
||||||
|
</Configuration>
|
||||||
|
</DataCollector>
|
||||||
|
</DataCollectors>
|
||||||
|
</DataCollectionRunSettings>
|
||||||
|
<InProcDataCollectionRunSettings>
|
||||||
|
<InProcDataCollectors>
|
||||||
|
<InProcDataCollector assemblyQualifiedName="Coverlet.Collector.DataCollection.CoverletInProcDataCollector, coverlet.collector, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
friendlyName="XPlat Code Coverage"
|
||||||
|
enabled="True"
|
||||||
|
codebase="coverlet.collector.dll" />
|
||||||
|
</InProcDataCollectors>
|
||||||
|
</InProcDataCollectionRunSettings>
|
||||||
|
</RunSettings>
|
23
test.sh
23
test.sh
@ -16,16 +16,12 @@ if [ -d "$TEST_DIR/_tests" ]; then
|
|||||||
TEST_DIR="$TEST_DIR/_tests"
|
TEST_DIR="$TEST_DIR/_tests"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
COVERAGE_RESULT_DIRECTORY="$TEST_DIR/CoverageResults/"
|
|
||||||
|
|
||||||
rm -f "$TEST_LOG_FILE"
|
rm -f "$TEST_LOG_FILE"
|
||||||
|
|
||||||
# Uncomment to log test output to a file instead of the console
|
# Uncomment to log test output to a file instead of the console
|
||||||
export RADARR_TESTS_LOG_OUTPUT="File"
|
export RADARR_TESTS_LOG_OUTPUT="File"
|
||||||
|
|
||||||
NUNIT="dotnet vstest"
|
VSTEST_PARAMS="--Platform:x64 --logger:nunit;LogFilePath=TestResult.xml"
|
||||||
NUNIT_COMMAND="$NUNIT"
|
|
||||||
NUNIT_PARAMS="--Platform:x64 --logger:nunit;LogFilePath=TestResult.xml"
|
|
||||||
|
|
||||||
if [ "$PLATFORM" = "Mac" ]; then
|
if [ "$PLATFORM" = "Mac" ]; then
|
||||||
|
|
||||||
@ -63,20 +59,13 @@ for i in `find $TEST_DIR -name "$TEST_PATTERN"`;
|
|||||||
do ASSEMBLIES="$ASSEMBLIES $i"
|
do ASSEMBLIES="$ASSEMBLIES $i"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
DOTNET_PARAMS="$ASSEMBLIES --TestCaseFilter:$WHERE $VSTEST_PARAMS"
|
||||||
|
|
||||||
if [ "$COVERAGE" = "Coverage" ]; then
|
if [ "$COVERAGE" = "Coverage" ]; then
|
||||||
if [ "$PLATFORM" = "Windows" ] || [ "$PLATFORM" = "Linux" ]; then
|
dotnet vstest $DOTNET_PARAMS --settings:"src/coverlet.runsettings" --ResultsDirectory:./CoverageResults
|
||||||
dotnet tool install coverlet.console --tool-path="$TEST_DIR/coverlet/"
|
EXIT_CODE=$?
|
||||||
mkdir $COVERAGE_RESULT_DIRECTORY
|
|
||||||
OPEN_COVER="$TEST_DIR/coverlet/coverlet"
|
|
||||||
$OPEN_COVER "$TEST_DIR/" --verbosity "detailed" --format "cobertura" --format "opencover" --output "$COVERAGE_RESULT_DIRECTORY" --exclude "[Radarr.*.Test]*" --exclude "[Radarr.Test.*]*" --exclude "[Radarr.Api*]*" --exclude "[Marr.Data]*" --exclude "[MonoTorrent]*" --exclude "[CurlSharp]*" --target "$NUNIT" --targetargs "$NUNIT_PARAMS --where=\"$WHERE\" $ASSEMBLIES";
|
|
||||||
EXIT_CODE=$?
|
|
||||||
else
|
|
||||||
echo "Coverage only supported on Windows and Linux"
|
|
||||||
exit 3
|
|
||||||
fi
|
|
||||||
elif [ "$COVERAGE" = "Test" ] ; then
|
elif [ "$COVERAGE" = "Test" ] ; then
|
||||||
echo "$NUNIT_COMMAND $ASSEMBLIES --TestCaseFilter:$WHERE $NUNIT_PARAMS"
|
dotnet vstest $DOTNET_PARAMS
|
||||||
$NUNIT_COMMAND $ASSEMBLIES --TestCaseFilter:"$WHERE" $NUNIT_PARAMS
|
|
||||||
EXIT_CODE=$?
|
EXIT_CODE=$?
|
||||||
else
|
else
|
||||||
echo "Run Type must be provided as third argument: Coverage or Test"
|
echo "Run Type must be provided as third argument: Coverage or Test"
|
||||||
|
Loading…
Reference in New Issue
Block a user