Merge pull request #31 from wokket/dependabot/github_actions/danielpa… #137
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This workflow will build a .NET project | |
| # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net | |
| name: CI Build | |
| on: | |
| push: | |
| branches: | |
| - '**' | |
| paths: | |
| - 'src/**' | |
| - '.github/workflows/ci.yml' | |
| pull_request: | |
| branches: [ "main" ] | |
| jobs: | |
| build: | |
| # Permissions this GitHub Action needs for other things in GitHub | |
| permissions: write-all | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v5 | |
| - name: Install Coverage Report Generator | |
| run: dotnet tool install -g dotnet-reportgenerator-globaltool | |
| - name: Restore dependencies | |
| run: dotnet restore | |
| working-directory: src | |
| - name: Build | |
| run: dotnet build --no-restore -c Release | |
| working-directory: src | |
| - name: Test | |
| run: dotnet test -c Release --no-build --report-xunit-trx --coverage --coverage-output-format cobertura --coverage-output coverage.cobertura.xml | |
| working-directory: src/UnitTests | |
| - name: Combine Coverage Reports # This is because one report is produced per project, and we want one result for all of them. | |
| uses: danielpalme/ReportGenerator-GitHub-Action@5.5.2 | |
| with: | |
| reports: "**/*.cobertura.xml" # REQUIRED # The coverage reports that should be parsed (separated by semicolon). Globbing is supported. | |
| targetdir: "${{ github.workspace }}" # REQUIRED # The directory where the generated report should be saved. | |
| reporttypes: "Cobertura;Html_Dark;MarkdownSummaryGithub" # The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, JsonSummary, Latex, LatexSummary, lcov, MarkdownSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, PngChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary | |
| verbosity: "Info" # The verbosity level of the log messages. Values: Verbose, Info, Warning, Error, Off | |
| title: "Code Coverage" # Optional title. | |
| tag: "${{ github.run_number }}_${{ github.run_id }}" # Optional tag or build version. | |
| customSettings: "" # Optional custom settings (separated by semicolon). See: https://github.com/danielpalme/ReportGenerator/wiki/Settings. | |
| toolpath: "reportgeneratortool" # Default directory for installing the dotnet tool. | |
| - name: Publish Code Coverage Report | |
| uses: irongut/CodeCoverageSummary@v1.3.0 | |
| with: | |
| filename: "**/*.cobertura.xml" | |
| badge: true | |
| fail_below_min: false # just informative for now | |
| format: markdown | |
| hide_branch_rate: false | |
| hide_complexity: false | |
| indicators: true | |
| output: both | |
| thresholds: "10 30" | |
| - name: Publish Test Results | |
| uses: EnricoMi/publish-unit-test-result-action@v2.23.0 | |
| if: always() | |
| with: | |
| files: "${{ github.workspace }}/**/*.trx" | |
| - name: Publish coverage in build summary # Only applicable if 'MarkdownSummaryGithub' or one of the other Markdown report types is generated | |
| run: cat ${{ github.workspace }}/SummaryGithub.md >> $GITHUB_STEP_SUMMARY # Adjust path and filename if necessary | |
| shell: bash |