Skip to content

Commit

Permalink
Switch to github action task for sonar analysis as PR annotations don…
Browse files Browse the repository at this point in the history
…'t work with CLI tool
  • Loading branch information
Cheesebaron committed Mar 20, 2024
1 parent decb218 commit ed33c98
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 64 deletions.
6 changes: 0 additions & 6 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,6 @@
"commands": [
"reportgenerator"
]
},
"dotnet-sonarscanner": {
"version": "6.2.0",
"commands": [
"dotnet-sonarscanner"
]
}
}
}
16 changes: 12 additions & 4 deletions .github/workflows/sonar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
types: [opened, synchronize, reopened]

jobs:
build:
sonar:
runs-on: windows-latest

steps:
Expand All @@ -35,7 +35,15 @@ jobs:
distribution: 'microsoft'
java-version: '17'

- name: Build
run: dotnet cake --verbosity=Normal --artifactsDir="output" --target=Sonar --sonarKey=$env:SONARY_KEY
- name: Analyze with SonarCloud
uses: sonarsource/sonarcloud-github-action@master
with:
args: >
-Dsonar.cs.xunit.reportsPaths=output/Tests/
-Dsonar.verbose=true
env:
SONARY_KEY: ${{secrets.SONAR_TOKEN}}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

- name: Build
run: dotnet cake --verbosity=Normal --artifactsDir="output" --target=Sonar
55 changes: 1 addition & 54 deletions build.cake
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ var outputDir = new DirectoryPath(artifactsDir);
var gitVersionLog = new FilePath("./gitversion.log");
var verbosity = Verbosity.Minimal;
var verbosityDotNet = DotNetVerbosity.Minimal;
var sonarKey = Argument("sonarKey", "");

GitVersion versionInfo = null;

Expand Down Expand Up @@ -80,56 +79,7 @@ Task("PatchBuildProps")
XmlPoke(buildProp, "//Project/PropertyGroup/Version", versionInfo.SemVer);
});

Task("SonarStart")
.WithCriteria(() => !string.IsNullOrEmpty(sonarKey))
.Does(() =>
{
var xunitReportsPath = MakeAbsolute(new DirectoryPath(outputDir + "/Tests")) + "/**/*.xml";
Information("XUnitReportsPath {0}", xunitReportsPath);
ProcessArgumentBuilder PrepareSonarArguments(ProcessArgumentBuilder args)
{
args.Append("begin");
args.Append("/key:{0}", "MvvmCross_MvvmCross");
args.Append("/o:{0}", "mvx");
args.Append("/d:sonar.host.url={0}", "https://sonarcloud.io");
args.Append("/d:sonar.cs.xunit.reportsPaths={0}", xunitReportsPath);
args.AppendSecret("/d:sonar.token={0}", sonarKey);
if (GitHubActions.Environment.PullRequest.IsPullRequest)
{
args.Append("/d:sonar.pullrequest.key={0}", GitHubActions.Environment.Workflow.RefName.Replace("/merge", ""));
args.Append("/d:sonar.pullrequest.branch={0}", GitHubActions.Environment.Workflow.HeadRef);
args.Append("/d:sonar.pullrequest.base={0}", GitHubActions.Environment.Workflow.BaseRef);
}
return args;
}
var settings = new DotNetToolSettings
{
ArgumentCustomization = PrepareSonarArguments
};
DotNetTool("sonarscanner", settings);
});

Task("SonarEnd")
.WithCriteria(() => !string.IsNullOrEmpty(sonarKey))
.Does(() =>
{
var settings = new DotNetToolSettings
{
ArgumentCustomization = args => args
.Append("end")
.AppendSecret("/d:sonar.token={0}", sonarKey)
};
DotNetTool("sonarscanner", settings);
});

Task("Build")
.IsDependentOn("Clean")
.IsDependentOn("PatchBuildProps")
.IsDependentOn("Restore")
.Does(() =>
Expand Down Expand Up @@ -199,11 +149,8 @@ Task("CopyPackages")
});

Task("Sonar")
.IsDependentOn("Clean")
.IsDependentOn("SonarStart")
.IsDependentOn("Build")
.IsDependentOn("UnitTest")
.IsDependentOn("SonarEnd");
.IsDependentOn("UnitTest");

Task("Default")
.IsDependentOn("Clean")
Expand Down
3 changes: 3 additions & 0 deletions sonar-project.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
sonar.organization=mvx
sonar.projectKey=MvvmCross_MvvmCross
sonar.sources=.

0 comments on commit ed33c98

Please sign in to comment.