Skip to content

Modernize SBOM generation and align with template standards#92

Merged
Malcolmnixon merged 10 commits intomainfrom
copilot/fix-vhdl-repo-findings
Feb 11, 2026
Merged

Modernize SBOM generation and align with template standards#92
Malcolmnixon merged 10 commits intomainfrom
copilot/fix-vhdl-repo-findings

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 11, 2026

Pull Request

Description

Agent-driven repository review identified critical deviations from TemplateDotNetTool patterns. Key changes:

SBOM Generation

  • Replaced standalone SpdxTool workflow with embedded Microsoft.Sbom.Targets package
  • SBOM now generated automatically during pack via GenerateSBOM=true property
  • Added complete SBOM configuration properties: SBOMPackageName, SBOMPackageVersion, and SBOMPackageSupplier
  • Removed manual workflow orchestration (spdx-workflow.yaml, build.yaml steps)
  • Output location: _manifest/spdx_2.2/manifest.spdx.json in package

Configuration Modernization

  • Migrated markdownlint: .markdownlint.json.markdownlint-cli2.jsonc
  • Fixed workflow to use auto-detected config file (removed explicit config parameter to match template pattern)
  • Updated agent documentation to reference correct config filename
  • Added AGENT_REPORT_*.md exclusions for agent-generated reports
  • Cleaned up gitignore and cspell patterns

Platform Support

  • Dropped macOS from documentation (ARCHITECTURE.md, issue templates)
  • Focus on Windows and Linux production deployments

Code Quality

  • Added AAA pattern comments to ContextTests.cs (exemplar for remaining tests)
  • Removed obsolete tool references from cspell dictionary

Type of Change

  • Code quality improvement
  • Documentation update

Related Issues

Pre-Submission Checklist

Build and Test

  • Code builds successfully: dotnet build --configuration Release
  • All tests pass: dotnet test --configuration Release
  • Code produces zero warnings

Code Quality

  • Code formatting is correct: dotnet format --verify-no-changes
  • New code has appropriate XML documentation comments
  • Static analyzer warnings have been addressed

Quality Checks

  • Spell checker passes: cspell "**/*.{md,cs}"
  • Markdown linter passes: markdownlint "**/*.md"
  • YAML linter passes: yamllint '**/*.{yml,yaml}'

Testing

  • Added unit tests for new functionality
  • Updated existing tests if behavior changed
  • All tests follow the AAA (Arrange, Act, Assert) pattern
  • Test coverage is maintained or improved

Documentation

  • Updated README.md (if applicable)
  • Updated ARCHITECTURE.md (if applicable)
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable)

Additional Notes

SBOM generation verified in package with complete metadata configuration. All 99 tests passing across net8.0/9.0/10.0. All linting checks pass (markdownlint, cspell, yamllint, dotnet format). CodeQL timed out but comprehensive static analysis (Microsoft.CodeAnalysis.NetAnalyzers, SonarAnalyzer.CSharp) passes with zero warnings.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 7 commits February 11, 2026 21:33
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
…ell entries

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI changed the title [WIP] Review and fix findings in VHDLTest repo Modernize SBOM generation and align with template standards Feb 11, 2026
Copilot AI requested a review from Malcolmnixon February 11, 2026 21:59
Comment thread src/DEMAConsulting.VHDLTest/DEMAConsulting.VHDLTest.csproj
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot The lint check is failing with:

Error: Failed due to error: Error: Unable to use configuration file '/home/runner/work/VHDLTest/VHDLTest/.markdownlint.json'; ENOENT: no such file or directory, open '/home/runner/work/VHDLTest/VHDLTest/.markdownlint.json'

Please check why this is failing here and works in the https://github.com/demaconsulting/TemplateDotNetTool template. Consistency should be maintained.

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Feb 11, 2026

@copilot The lint check is failing with:

Error: Failed due to error: Error: Unable to use configuration file '/home/runner/work/VHDLTest/VHDLTest/.markdownlint.json'; ENOENT: no such file or dir...

Fixed in commit 47a48af. The workflow was explicitly referencing config: .markdownlint.json which no longer exists. The template doesn't specify a config parameter - it relies on markdownlint-cli2's auto-detection to find .markdownlint-cli2.jsonc.

Changes made:

  • Removed config: .markdownlint.json from build.yaml workflow
  • Updated agent documentation to reference .markdownlint-cli2.jsonc

The lint now passes locally and will work in CI.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/demaconsulting/TemplateDotNetTool/contents/
    • Triggering command: /usr/bin/curl curl -s REDACTED (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@Malcolmnixon Malcolmnixon marked this pull request as ready for review February 11, 2026 22:11
@Malcolmnixon Malcolmnixon merged commit 7493052 into main Feb 11, 2026
19 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/fix-vhdl-repo-findings branch February 11, 2026 23:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants