Skip to content

Integrate VersionMark for tool version tracking in Build Notes PDF#72

Merged
Malcolmnixon merged 7 commits intomainfrom
copilot/update-versionmark-captures
Feb 15, 2026
Merged

Integrate VersionMark for tool version tracking in Build Notes PDF#72
Malcolmnixon merged 7 commits intomainfrom
copilot/update-versionmark-captures

Conversation

Copy link
Contributor

Copilot AI commented Feb 15, 2026

Pull Request

Description

Integrates VersionMark tool for comprehensive version tracking of all build tools across CI/CD pipeline. Tool versions are now captured during workflow execution and published to docs/buildnotes/versions.md, which is automatically included in the Build Notes PDF.

Key Changes:

  • VersionMark Configuration (.versionmark.yaml): Defines capture patterns for .NET SDK, Git, Node.js, npm, and all DemaConsulting dotnet tools. BuildMark uses dotnet tool list --global since it's installed globally in the build-docs job where it's used as a documentation generation tool.
  • Workflow Integration (.github/workflows/build.yaml): Added version capture steps to quality-checks, build, and integration-test jobs; build-docs job now consolidates captures and publishes unified version report. Integration-test captures only the tools used (dotnet, git, versionmark), not BuildMark itself as it's the product being tested.
  • Build Notes Integration (docs/buildnotes/definition.yaml): Added versions.md as input to include tool versions in PDF
  • Tooling (.config/dotnet-tools.json): Added DemaConsulting.VersionMark v0.1.0

Version captures use job-specific identifiers (e.g., build-win, build-ubuntu, int-win-8) to distinguish multi-platform build environments and test matrices.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code quality improvement

Related Issues

Pre-Submission Checklist

Before submitting this pull request, ensure you have completed the following:

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

Please run the following checks before submitting:

  • 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

Changes align BuildMark with latest TemplateDotNetTool template patterns. CodeQL security scan passed with zero alerts. Generated version files (versionmark-*.json, docs/buildnotes/versions.md) are excluded via .gitignore.

BuildMark version capture configuration correctly uses --global flag since BuildMark is installed globally (not as a local tool) when used in the build-docs job for generating documentation. Integration tests capture only the tools used in testing (dotnet, git, versionmark), not BuildMark itself as it's the product being validated, not a build tool.


✨ 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 added 4 commits February 15, 2026 18:52
- Add .versionmark.yaml configuration file defining all tools to capture
- Add DemaConsulting.VersionMark v0.1.0 to .config/dotnet-tools.json
- Add version capture steps to all workflow jobs:
  - quality-checks: captures dotnet, git, versionmark
  - build: captures dotnet, git, dotnet-sonarscanner, versionmark
  - integration-test: captures dotnet, git, versionmark
  - build-docs: captures all tools used in documentation generation
- Add version publishing step in build-docs job to generate versions.md
- Add docs/buildnotes/versions.md to buildnotes definition.yaml
- Update .gitignore to exclude versionmark-*.json capture files
- Add 'versionmark' to .cspell.json dictionary

This enables tracking and publishing of tool versions used in each CI/CD job
to the Build Notes PDF documentation, providing complete build environment
transparency.
- Remove line continuation in build job versionmark capture (line 148)
- Split build-docs versionmark capture into multiple lines to meet 120 char limit
- Split versionmark publish command into multiple lines for better readability
- Maintain consistent formatting across all versionmark commands in the workflow
- Change 'run: >' to simple 'run:' for single-line dotnet tool restore commands
- Improves consistency with other single-command steps in the workflow
- Addresses code review feedback on YAML style inconsistencies
- Document that .NET SDK versions include up to 4 components
- Explain why versionmark captures its own version (complete tool transparency)
- Addresses code review feedback on regex patterns and self-capture rationale
Copilot AI changed the title [WIP] Update repo consistency agent for VersionMark captures Integrate VersionMark for tool version tracking in Build Notes PDF Feb 15, 2026
Copilot AI requested a review from Malcolmnixon February 15, 2026 18:57
Copilot AI and others added 2 commits February 15, 2026 19:25
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
@Malcolmnixon Malcolmnixon marked this pull request as ready for review February 15, 2026 19:55
@Malcolmnixon Malcolmnixon merged commit 7357883 into main Feb 15, 2026
11 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/update-versionmark-captures branch February 15, 2026 19:55
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