Skip to content

Pull updates from template repo and add macOS platform support#164

Merged
Malcolmnixon merged 5 commits intomainfrom
copilot/pull-updates-from-template-repo
Mar 6, 2026
Merged

Pull updates from template repo and add macOS platform support#164
Malcolmnixon merged 5 commits intomainfrom
copilot/pull-updates-from-template-repo

Conversation

Copy link
Contributor

Copilot AI commented Mar 6, 2026

Pull Request

Description

Syncs SpdxTool with the latest TemplateDotNetTool patterns and adds macOS as a fully tested and requirements-tracked platform.

Template Sync

Agent guidance (AGENTS.md + .github/agents/)

  • Added "Agent Selection Guide" (bug→developer, feature→requirements→developer→test, etc.)
  • Added "Test Source Filters" section documenting windows@, ubuntu@, macos@, net8.0@, dotnet8.x@ prefixes
  • Added "Requirements" enforcement section (policy + dotnet reqstream --enforce command)
  • code-quality-agent.md: added Requirements Traceability as quality gate Add support for variables in workflow files. #4; added lint.sh/lint.bat convenience commands
  • requirements-agent.md: added "Requirements Format" section; fixed first bullet to "Creating new requirements"
  • software-developer.md: added "Link to requirements in requirements.yaml" to self-validation guidance

Workflows

  • build_on_push.yaml: renamed workflow from BuildBuild on Push
  • build.yaml: reordered quality-check steps to markdownlint → cspell → yamllint; simplified OS_SHORT sed to sed 's/-latest//' matching the template pattern

Config / IDE

  • .editorconfig: removed duplicate [*.{cs,vb}] section with redundant dotnet_sort_system_directives_first / dotnet_separate_import_directive_groups entries
  • .vscode/tasks.json: new file with standard tasks (build, validate, format, lint-all, verify-requirements, etc.)

Documentation

  • README.md: added "Continuous Compliance" feature bullet and ## License section with CLA sentence; [link-license] uses absolute URL for correct rendering on nuget.org

Test project

  • DemaConsulting.SpdxTool.Tests.csproj: moved Implicit Usings ItemGroup before test-framework deps; added explanatory comments for coverlet.collector

macOS Platform Support

  • Added macos-latest to build, integration-test (3 OS × 3 .NET = 9 combos), and targets-integration-test matrices in build.yaml
  • OS_SHORT uses sed 's/-latest//' producing windows, ubuntu, macos — automatically handles any future platforms without sed chain changes
  • Added macos@TestName source-filter prefix to requirements.yaml header
  • Added SpdxTool-Plt-MacOS requirement linked to macos@SpdxTool_Validate and all five MSBuild targets tests
  • Updated AGENTS.md CI/CD section: Windows/Linux → Windows/Linux/macOS

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

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 unit tests pass: dotnet test --configuration Release
  • Self-validation tests pass:
    dotnet run --project src/DemaConsulting.SpdxTool --configuration Release --framework net10.0
    --no-build -- --validate
  • 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 .

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

macOS CI jobs will initially show the SpdxTool-Plt-MacOS requirement as unsatisfied until the first macOS CI run produces TRX results — this is expected behaviour per the requirements.yaml header note about platform-specific requirements requiring CI evidence.


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Copilot AI and others added 2 commits March 6, 2026 22:40
- D1: AGENTS.md - Add Agent Selection Guide section
- D2: AGENTS.md - Add Test Source Filters section
- D3: AGENTS.md - Add Requirements enforcement section
- D4: code-quality-agent.md - Add Requirements Traceability quality gate (#4)
- D5: requirements-agent.md - Add Requirements Format section; fix first bullet
- D6: .editorconfig - Remove duplicate [*.{cs,vb}] section header and duplicate entries
- D7: .vscode/tasks.json - Create VSCode tasks file
- D8: build_on_push.yaml - Fix workflow name to 'Build on Push'
- D9: test csproj - Add coverlet comment; move Implicit Usings before test deps
- D10: software-developer.md - Add requirements linkage guidance
- D11: README.md - Add Continuous Compliance feature
- D12: README.md - Add License section with CLA sentence
- D13: code-quality-agent.md - Add lint scripts to commands section
- D14: build.yaml - Reorder quality checks (markdownlint, cspell, yamllint)
Copilot AI changed the title [WIP] Pull in updates from the template repo Pull updates from template repo and add macOS platform support Mar 6, 2026
@Malcolmnixon Malcolmnixon marked this pull request as ready for review March 6, 2026 23:01
Copilot AI review requested due to automatic review settings March 6, 2026 23:01
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR syncs SpdxTool with updated TemplateDotNetTool patterns and extends CI + requirements traceability to treat macOS as a first-class supported platform.

Changes:

  • Add macOS to CI build/integration/targets test matrices and introduce a macOS platform requirement with test evidence links.
  • Sync agent guidance docs and workflow step ordering to match the template patterns.
  • Add standard VS Code tasks and minor documentation/config cleanups (README license section, .editorconfig dedupe, test project csproj ordering).

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/DemaConsulting.SpdxTool.Tests/DemaConsulting.SpdxTool.Tests.csproj Reorders implicit usings ItemGroup and clarifies coverlet collector behavior.
requirements.yaml Adds macos@ source filter docs and introduces SpdxTool-Plt-MacOS requirement linked to platform evidence tests.
README.md Adds “Continuous Compliance” bullet and a License section with absolute license link.
AGENTS.md Adds agent selection guide, requirements enforcement notes, source filter guidance, and updates CI/CD platform wording.
.vscode/tasks.json Adds common VS Code tasks (build/validate/format/lint/req enforcement).
.github/workflows/build_on_push.yaml Renames workflow to “Build on Push”.
.github/workflows/build.yaml Reorders quality steps, adds macOS to matrices, and simplifies OS short-name derivation.
.github/agents/software-developer.md Adds reminder to link work back to requirements.yaml.
.github/agents/requirements-agent.md Updates guidance to focus on creating requirements and documents required format.
.github/agents/code-quality-agent.md Adds requirements traceability as a quality gate and documents lint helpers.
.editorconfig Removes redundant per-language section to reduce duplication.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@Malcolmnixon Malcolmnixon merged commit ba5143c into main Mar 6, 2026
24 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/pull-updates-from-template-repo branch March 6, 2026 23:34
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.

3 participants