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 @@ -49,6 +49,12 @@
"commands": [
"reqstream"
]
},
"demaconsulting.buildmark": {
"version": "0.2.0",
"commands": [
"buildmark"
]
}
}
}
38 changes: 37 additions & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -389,8 +389,44 @@ jobs:
docs/quality/quality.html
"docs/SpdxModel 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
docs/buildnotes/title.txt
--defaults docs/buildnotes/definition.yaml
--metadata version="${{ inputs.version }}"
--metadata date="$(date +'%Y-%m-%d')"
--filter node_modules/.bin/mermaid-filter.cmd
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where's the metadata lines - take a look at the other pandoc invocations when building documents.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in commit dc90c63:

  • docs/buildnotes/title.txt as first argument
  • --metadata version="${{ inputs.version }}"
  • --metadata date="$(date +'%Y-%m-%d')"

Now matches the pattern used in all other Pandoc invocations (User Guide, Requirements, Trace Matrix, Justifications, Quality).

--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/SpdxModel Build Notes.pdf"

- name: Upload Documentation
uses: actions/upload-artifact@v6
with:
name: documentation
path: docs/*.pdf
path: |
docs/*.pdf
docs/buildnotes.md
8 changes: 7 additions & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,11 @@ jobs:
name: documentation
path: artifacts

- name: Move buildnotes.md to root
run: |
set -e
mv artifacts/buildnotes.md buildnotes.md

- name: Clean Artifacts
shell: bash
run: rm -rf artifacts/test
Expand All @@ -71,7 +76,8 @@ jobs:
uses: ncipollo/release-action@v1
with:
artifacts: 'artifacts/**/*'
generateReleaseNotes: true
bodyFile: buildnotes.md
generateReleaseNotes: false
tag: ${{ inputs.version }}

- name: Publish to Nuget
Expand Down
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,16 @@ coverage/
node_modules/

# Generated documentation
docs/*.html
docs/guide/*.html
docs/requirements/*.html
docs/tracematrix/*.html
docs/justifications/*.html
docs/quality/*.html
docs/buildnotes/*.html
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about the other temporary HTML files?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in commit f82521a. Now includes gitignore patterns for all generated HTML files:

  • docs/guide/*.html
  • docs/requirements/*.html
  • docs/tracematrix/*.html
  • docs/justifications/*.html
  • docs/quality/*.html
  • docs/buildnotes/*.html

Matches the pattern used in ReqStream.

docs/*.pdf
docs/requirements/requirements.md
docs/tracematrix/tracematrix.md
docs/justifications/justifications.md
docs/buildnotes.md
*.err
package-lock.json
15 changes: 15 additions & 0 deletions docs/buildnotes/definition.yaml
Original file line number Diff line number Diff line change
@@ -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
33 changes: 33 additions & 0 deletions docs/buildnotes/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Introduction

This document contains the build notes for the SpdxModel project.

## Purpose

This report serves as a comprehensive record of changes and bug fixes for this
release of SpdxModel. 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 SpdxModel library for SPDX SBOM manipulation.

## Audience

This document is intended for:

- Software developers working on SpdxModel
- Users evaluating what has changed in this release
- Project stakeholders tracking progress
- Contributors understanding recent changes
16 changes: 16 additions & 0 deletions docs/buildnotes/title.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: SpdxModel
subtitle: Build Notes
author: DEMA Consulting
description: Build notes for the SpdxModel library for SPDX SBOM manipulation
lang: en-US
keywords:
- SpdxModel
- Build Notes
- Release Notes
- SPDX
- SBOM
- C#
- .NET
- Documentation
---
Loading