-
Notifications
You must be signed in to change notification settings - Fork 0
Add requirements specification and automated trace matrix generation #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 5 commits
74b8832
075fc38
40b3fae
4429eef
7014834
f27f6a7
cd11d2b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -15,6 +15,20 @@ jobs: | |
| - name: Checkout repository | ||
| uses: actions/checkout@v6 | ||
|
|
||
| - name: Download test results from Windows | ||
| uses: actions/download-artifact@v6 | ||
| with: | ||
| name: test-results-windows-latest | ||
| path: test-results | ||
| continue-on-error: true | ||
|
|
||
| - name: Download test results from Linux | ||
| uses: actions/download-artifact@v6 | ||
| with: | ||
| name: test-results-ubuntu-latest | ||
| path: test-results | ||
| continue-on-error: true | ||
|
|
||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
|
|
@@ -31,6 +45,20 @@ jobs: | |
| - name: Restore dotnet tools | ||
| run: dotnet tool restore | ||
|
|
||
| - name: Generate Requirements Report | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Generate Requirements Report and Generate Trace Matrix steps should be merged - both reports can be generated simultaneously.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Merged both steps into "Generate Requirements Report and Trace Matrix" in commit cd11d2b. Now both reports are generated in a single reqstream invocation. |
||
| run: > | ||
| dotnet reqstream | ||
| --requirements requirements.yaml | ||
| --tests "test-results/**/*.trx" | ||
| --report docs/requirements/requirements.md | ||
|
|
||
| - name: Generate Trace Matrix | ||
| run: > | ||
| dotnet reqstream | ||
| --requirements requirements.yaml | ||
| --tests "test-results/**/*.trx" | ||
| --matrix docs/tracematrix/tracematrix.md | ||
|
|
||
| - name: Generate HTML with Pandoc | ||
| run: > | ||
| dotnet pandoc | ||
|
|
@@ -42,10 +70,34 @@ jobs: | |
| run: > | ||
| dotnet weasyprint | ||
| docs/guide/guide.html | ||
| docs/guide/guide.pdf | ||
| docs/guide.pdf | ||
|
|
||
| - name: Generate Requirements HTML with Pandoc | ||
| run: > | ||
| dotnet pandoc | ||
| --defaults docs/requirements/definition.yaml | ||
| --output docs/requirements/requirements.html | ||
|
|
||
| - name: Generate Requirements PDF with Weasyprint | ||
| run: > | ||
| dotnet weasyprint | ||
| docs/requirements/requirements.html | ||
| docs/requirements.pdf | ||
|
|
||
| - name: Generate Trace Matrix HTML with Pandoc | ||
| run: > | ||
| dotnet pandoc | ||
| --defaults docs/tracematrix/definition.yaml | ||
| --output docs/tracematrix/tracematrix.html | ||
|
|
||
| - name: Generate Trace Matrix PDF with Weasyprint | ||
| run: > | ||
| dotnet weasyprint | ||
| docs/tracematrix/tracematrix.html | ||
| docs/tracematrix.pdf | ||
|
|
||
| - name: Upload documentation | ||
| uses: actions/upload-artifact@v6 | ||
| with: | ||
| name: documentation | ||
| path: docs/guide/guide.pdf | ||
| path: docs/*.pdf | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -63,7 +63,9 @@ jobs: | |
|
|
||
| build-docs: | ||
| name: Build Documentation | ||
| needs: quality-checks | ||
| needs: | ||
| - build-windows | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please add comments to the needs lines indicating they are needed for test results.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added inline comments in commit cd11d2b indicating both dependencies are needed for test results. |
||
| - build-linux | ||
| permissions: | ||
| contents: read | ||
| uses: ./.github/workflows/build_docs.yaml | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -120,3 +120,10 @@ node_modules/ | |
| # Generated documentation | ||
| docs/guide/*.html | ||
| docs/guide/*.pdf | ||
| docs/requirements/*.html | ||
| docs/requirements/*.pdf | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The PDFs aren't created in the guide, requirements, or tracematrix folders, and can be removed from .gitignore
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Removed PDF patterns from subdirectories in commit cd11d2b. Only |
||
| docs/requirements/requirements.md | ||
| docs/tracematrix/*.html | ||
| docs/tracematrix/*.pdf | ||
| docs/tracematrix/tracematrix.md | ||
| docs/*.pdf | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| --- | ||
| resource-path: | ||
| - docs/requirements | ||
| - docs/template | ||
| input-files: | ||
| - docs/requirements/title.txt | ||
| - docs/requirements/introduction.md | ||
| - docs/requirements/requirements.md | ||
| template: guide_template.html | ||
| table-of-contents: true | ||
| number-sections: true |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| # Introduction | ||
|
|
||
| This document specifies the requirements for the ReqStream tool, a .NET command-line application designed for | ||
| managing software requirements in YAML format. | ||
|
|
||
| ## Purpose | ||
|
|
||
| The purpose of this document is to define the functional and non-functional requirements that the ReqStream tool | ||
| must satisfy. These requirements guide the development, testing, and validation of the tool. | ||
|
|
||
| ## Scope | ||
|
|
||
| This document covers: | ||
|
|
||
| - Command-line interface requirements | ||
| - Requirements file processing capabilities | ||
| - Test integration features | ||
| - Reporting and export functionality | ||
| - Platform and runtime support | ||
|
|
||
| ## Document Conventions | ||
|
|
||
| Throughout this document: | ||
|
|
||
| - Requirements are identified with unique identifiers (e.g., CLI-001, REQ-001) | ||
| - Each requirement uses the keyword "shall" to indicate mandatory functionality | ||
| - Requirements are organized hierarchically by functional area | ||
|
|
||
| ## References | ||
|
|
||
| - ReqStream User Guide: Provides detailed usage instructions and examples | ||
| - ReqStream Repository: <https://github.com/demaconsulting/ReqStream> |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| --- | ||
| title: ReqStream Requirements | ||
| subtitle: Requirements Specification for the ReqStream Tool | ||
| lang: en-US | ||
| keywords: | ||
| - ReqStream | ||
| - Requirements | ||
| - Specification | ||
| - .NET | ||
| - YAML | ||
| - Command-Line Tool | ||
| --- |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| --- | ||
| resource-path: | ||
| - docs/tracematrix | ||
| - docs/template | ||
| input-files: | ||
| - docs/tracematrix/title.txt | ||
| - docs/tracematrix/introduction.md | ||
| - docs/tracematrix/tracematrix.md | ||
| template: guide_template.html | ||
| table-of-contents: true | ||
| number-sections: true |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| # Introduction | ||
|
|
||
| This document provides a traceability matrix that maps ReqStream requirements to their associated test cases. | ||
| This matrix ensures that each requirement is adequately tested and verified. | ||
|
|
||
| ## Purpose | ||
|
|
||
| The purpose of this trace matrix is to: | ||
|
|
||
| - Demonstrate test coverage for all requirements | ||
| - Provide traceability between requirements and tests | ||
| - Support verification and validation activities | ||
| - Facilitate impact analysis when requirements change | ||
|
|
||
| ## Scope | ||
|
|
||
| This document covers the traceability between: | ||
|
|
||
| - ReqStream requirements defined in the requirements specification | ||
| - Test cases implemented in the ReqStream test suite | ||
|
|
||
| ## Matrix Organization | ||
|
|
||
| The trace matrix is organized by requirement, showing: | ||
|
|
||
| - Requirement identifier and title | ||
| - Associated test cases that verify the requirement | ||
| - Test execution status | ||
|
|
||
| ## How to Use This Document | ||
|
|
||
| Use this trace matrix to: | ||
|
|
||
| - Verify that all requirements have associated tests | ||
| - Identify which tests verify each requirement | ||
| - Assess test coverage across the requirement set | ||
| - Plan testing activities when requirements change |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| --- | ||
| title: ReqStream Trace Matrix | ||
| subtitle: Test Traceability Matrix for the ReqStream Tool | ||
| lang: en-US | ||
| keywords: | ||
| - ReqStream | ||
| - Trace Matrix | ||
| - Traceability | ||
| - Testing | ||
| - .NET | ||
| - Command-Line Tool | ||
| --- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add the OS to the test-results file name - may be used later to support proving support for different operating systems.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added OS to test-results filename in commit cd11d2b. Now generates files like
test-results-windows-latest.trxandtest-results-ubuntu-latest.trx.