diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 9564b8c..c60c9e4 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -31,6 +31,12 @@ "commands": [ "sarifmark" ] + }, + "demaconsulting.buildmark": { + "version": "0.2.0", + "commands": [ + "buildmark" + ] } } } \ No newline at end of file diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index bbe0ca7..713ae2c 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -413,8 +413,41 @@ jobs: docs/quality/quality.html "docs/ReqStream Code Quality.pdf" + - name: Generate Build Notes with BuildMark + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + shell: bash + run: > + dotnet buildmark + --build-version ${{ inputs.version }} + --report docs/buildnotes.md + --report-depth 1 + + - name: Display Build Notes Report + shell: bash + run: | + echo "=== Build Notes Report ===" + cat docs/buildnotes.md + + - name: Generate Build Notes HTML with Pandoc + shell: bash + run: > + dotnet pandoc + --defaults docs/buildnotes/definition.yaml + --filter node_modules/.bin/mermaid-filter.cmd + --output docs/buildnotes/buildnotes.html + + - name: Generate Build Notes PDF with Weasyprint + run: > + dotnet weasyprint + --pdf-variant pdf/a-3u + docs/buildnotes/buildnotes.html + "docs/ReqStream Build Notes.pdf" + - name: Upload documentation uses: actions/upload-artifact@v6 with: name: documentation - path: docs/*.pdf + path: | + docs/*.pdf + docs/buildnotes.md diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2ff0b87..bc23c0c 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -59,13 +59,19 @@ jobs: name: documentation path: artifacts + - name: Move buildnotes.md to root + run: | + set -e + mv artifacts/buildnotes.md buildnotes.md + - name: Create GitHub Release if: inputs.publish == 'release' || inputs.publish == 'publish' uses: ncipollo/release-action@v1 with: tag: ${{ inputs.version }} artifacts: artifacts/* - generateReleaseNotes: true + bodyFile: buildnotes.md + generateReleaseNotes: false - name: Publish to NuGet.org if: inputs.publish == 'publish' diff --git a/docs/buildnotes/definition.yaml b/docs/buildnotes/definition.yaml new file mode 100644 index 0000000..d93a4ba --- /dev/null +++ b/docs/buildnotes/definition.yaml @@ -0,0 +1,15 @@ +--- +resource-path: + - docs/buildnotes + - docs/template + +input-files: + - docs/buildnotes/title.txt + - docs/buildnotes/introduction.md + - docs/buildnotes.md + +template: template.html + +table-of-contents: true + +number-sections: true diff --git a/docs/buildnotes/introduction.md b/docs/buildnotes/introduction.md new file mode 100644 index 0000000..5654847 --- /dev/null +++ b/docs/buildnotes/introduction.md @@ -0,0 +1,33 @@ +# Introduction + +This document contains the build notes for the ReqStream project. + +## Purpose + +This report serves as a comprehensive record of changes and bug fixes for this +release of ReqStream. It provides transparency about what has changed since the +previous version and helps users understand the improvements and fixes included +in this build. + +## Scope + +This build notes report covers: + +- Version information and commit details +- Changes and new features implemented +- Bugs fixed in this release + +## Generation Source + +This report is automatically generated by the BuildMark tool, analyzing the +Git repository history and issue tracking information. It provides evidence of +changes made to the ReqStream requirements management tool. + +## Audience + +This document is intended for: + +- Software developers working on ReqStream +- Users evaluating what has changed in this release +- Project stakeholders tracking progress +- Contributors understanding recent changes diff --git a/docs/buildnotes/title.txt b/docs/buildnotes/title.txt new file mode 100644 index 0000000..c4054f2 --- /dev/null +++ b/docs/buildnotes/title.txt @@ -0,0 +1,15 @@ +--- +title: ReqStream Tool +subtitle: Build Notes +author: DEMA Consulting +description: Build notes for the ReqStream Tool for managing requirements +lang: en-US +keywords: + - ReqStream + - Build Notes + - Release Notes + - Requirements + - C# + - .NET + - Documentation +---