Applies PVS-Studio Analyzer using the clang's compilation database file (compile_commands.json)
| GitHub Actions |
|---|
Make sure the following requirements are installed on your system:
- dotnet SDK 3.0 or higher
or
CONFIGURATIONwill set the configuration of the dotnet commands. If not set, it will default to Release.CONFIGURATION=Debug ./build.shwill result in-cadditions to commands such as indotnet build -c Debug
GITHUB_TOKENwill be used to upload release notes and Nuget packages to GitHub.- Be sure to set this before releasing
DISABLE_COVERAGEWill disable running code coverage metrics. AltCover can have severe performance degradation so it's worth disabling when looking to do a quicker feedback loop.DISABLE_COVERAGE=1 ./build.sh
> build.cmd <optional buildtarget> // on windows
$ ./build.sh <optional buildtarget>// on unixClean- Cleans artifact and temp directories.DotnetRestore- Runs dotnet restore on the solution file.DotnetBuild- Runs dotnet build on the solution file.DotnetTest- Runs dotnet test on the solution file.GenerateCoverageReport- Code coverage is run duringDotnetTestand this generates a report via ReportGenerator.WatchTests- Runs dotnet watch with the test projects. Useful for rapid feedback loops.GenerateAssemblyInfo- Generates AssemblyInfo for libraries.DotnetPack- Runs dotnet pack. This includes running Source Link.SourceLinkTest- Runs a Source Link test tool to verify Source Links were properly generated.PublishToNuGet- Publishes the NuGet packages generated inDotnetPackto NuGet via paket push.GitRelease- Creates a commit message with the Release Notes and a git tag via the version in theRelease Notes.GitHubRelease- Publishes a GitHub Release with the Release Notes and any NuGet packages.FormatCode- Runs Fantomas on the solution file.BuildDocs- Generates Documentation fromdocsSrcand the XML Documentation Comments from your libraries insrc.WatchDocs- Generates documentation and starts a webserver locally. It will rebuild and hot reload if it detects any changes made todocsSrcfiles, libraries insrc, or thedocsToolitself.ReleaseDocs- Will stage, commit, and push docs generated in theBuildDocstarget.Release- Task that runs all release type tasks such asPublishToNuGet,GitRelease,ReleaseDocs, andGitHubRelease. Make sure to read Releasing to setup your environment correctly for releases.