/gh-action-plot

Create plots in a github action

Primary LanguageC#MIT LicenseMIT

Plot Repository, Build, and Test Statistics

GitHub Action for C# projects which parses, keeps history, and plots:

  • dotnet build log warnings
  • dotnet test results (TRX output)
  • TO-DOs in code
  • Source line counts
  • Test Code Coverage

Excellent for keeping track of test status, code statistics, tasks outstanding, and providing a simple graphical output. As the output is markdown and PNGs, it can be easily added to documentation sites such as DocFX.

Charts drawn

  • Test Code Coverage: per project
  • TO-DOs: per label, per project, total
  • Build warnings: per project, total
  • Line Counts: per project, total

Documents created

  • README.md which is a summary of the below
  • Build warnings
    • Lists all build warnings
    • File + line number of the warning with link to code
    • Analyzer ID with link to analyzer documentation (when available)
    • Text of the warning
    • Count
      • Per project
      • Per Analyzer ID
    • Charts
      • Per project
      • Total
  • Test Results
    • Markdown summary:
      • Failure vs total count
      • Table summarizing test failures (if any)
        • Test Name
        • Failure source location (with source link)
        • Link to details about the failure (the below txt file)
    • Failed Test result information into .txt
      • Test Name
      • Parameters
      • Standard Output
      • Error
      • Stack Trace
    • Record of each run with test failures names (if any)
      • Date
      • Commit SHA
      • Total Test Count
      • Failed Test Count
      • Failed Test Names
  • Line Counts
    • Charts & Tables
      • Per project
      • Total
  • TO-DO
    • Charts & Tables for counts
      • Per label/category
      • Per project
      • Total
    • Detailed table with each TO-DO's
      • Source location (with source link)
      • Label/Category
      • Full text

Items with history maintained

  • Test Code Coverage uses history xml files generated by the Report Generator GitHub Action.
  • Line Counts: per project resolution
  • TO-DOs: per label, per project resolution
  • Build warnings: per project resolution
  • Test failures: per test resolution

Configuration

Example:

      - name: 'Run gh-action-plot'
        uses: erichiller/gh-action-plot@v1.0.0
        with:
          source_scan_dir: './'
          output_dir: './docs/stats'
          test_results_dir: './test/mkmrk.Channels.Tests/'
          coverage_history_dir: './docs/coverage/history/'

Example

For a real world example, see mkmrk.Channels documentation and workflow.