Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@
"commands": [
"reqstream"
]
},
"demaconsulting.sonarmark": {
"version": "1.0.0",
"commands": [
"sonarmark"
]
}
}
}
2 changes: 2 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"fsproj",
"Gidget",
"gitattributes",
"hotspots",
"ibiqlik",
"LINQ",
"maintainer",
Expand All @@ -39,6 +40,7 @@
"snupkg",
"Sonar",
"sonarcloud",
"sonarmark",
"sonarscanner",
"spdx",
"TestResults",
Expand Down
26 changes: 26 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,32 @@ jobs:
docs/tracematrix/tracematrix.html
"docs/TestResults Trace Matrix.pdf"

- name: Generate Code Quality Report with SonarMark
shell: pwsh
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: >
dotnet sonarmark
--server https://sonarcloud.io
--project-key demaconsulting_TestResults
--branch ${{ github.ref_name }}
--token "$env:SONAR_TOKEN"
--report docs/quality/sonar-quality.md
--report-depth 1

- name: Generate Code Quality HTML with Pandoc
run: >
dotnet pandoc
docs/quality/title.txt
--defaults docs/quality/definition.yaml
--output docs/quality/quality.html

- name: Generate Code Quality PDF with Weasyprint
run: >
dotnet weasyprint
docs/quality/quality.html
"docs/TestResults Code Quality.pdf"

- name: Upload Documentation
uses: actions/upload-artifact@v6
with:
Expand Down
14 changes: 14 additions & 0 deletions docs/quality/definition.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
resource-path:
- docs/quality
- docs/template

input-files:
- docs/quality/introduction.md
- docs/quality/sonar-quality.md

template: template.html

table-of-contents: true

number-sections: true
35 changes: 35 additions & 0 deletions docs/quality/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Introduction

This document contains the code quality analysis report for the TestResults project.

## Purpose

This report serves as evidence that the TestResults codebase maintains good quality
standards. It provides a comprehensive analysis of code quality metrics, including
quality gate status, code issues, security hotspots, technical debt, and code coverage.

## Scope

This code quality report covers:

- Quality gate status and conditions
- Code issues categorized by type and severity
- Security hotspots requiring review
- Technical debt assessment
- Code coverage and duplication metrics

## Analysis Source

This report contains quality analysis results captured at the time this version of TestResults
was built. It serves as evidence that the code maintains good quality standards and provides
transparency about the project's code health. The analysis includes results from various
quality tools run during the build process.

## Audience

This document is intended for:

- Software developers working on TestResults
- Quality assurance teams reviewing code quality
- Project stakeholders evaluating project health
- Contributors understanding quality standards
18 changes: 18 additions & 0 deletions docs/quality/title.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: TestResults Library
subtitle: Code Quality Report
author: DEMA Consulting
description: Code Quality Report for the TestResults C# library for creating test result files in TRX and JUnit XML formats
lang: en-US
keywords:
- TestResults
- Code Quality
- SonarCloud
- Analysis
- C#
- .NET
- TRX
- JUnit
- Test Results
- Testing
---