Skip to content

Update build.yaml quality job to use lint scripts#117

Merged
Malcolmnixon merged 4 commits intomainfrom
copilot/update-build-yaml-quality-job
Mar 30, 2026
Merged

Update build.yaml quality job to use lint scripts#117
Malcolmnixon merged 4 commits intomainfrom
copilot/update-build-yaml-quality-job

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 30, 2026

Pull Request

Description

The quality job in build.yaml was using three individual GitHub Action linters instead of the unified lint.sh/lint.bat scripts, causing drift from the demaconsulting/TemplateDotNetTool template pattern.

Quality job changes:

  • Added Setup Node.js (node 24.x) and Setup Python (3.14) steps required by lint.sh to ensure the correct runtimes are available on the CI build agent
  • Replaced individual linter actions with a single bash ./lint.sh step:
    • DavidAnson/markdownlint-cli2-action@v22
    • streetsidesoftware/cspell-action@v8
    • ibiqlik/action-yamllint@v3

Lint logic is now centralized in the scripts — future tooling changes only require script updates, not workflow edits. Note that lint.sh also enforces dotnet format --verify-no-changes, expanding the quality gate scope in CI.

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
  • Self-validation tests pass:
    dotnet run --project src/DemaConsulting.BuildMark --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:

  • All linters pass: ./lint.sh (Unix/macOS) or cmd /c lint.bat / ./lint.bat (Windows)

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

Aligned with demaconsulting/TemplateDotNetTool template pattern where lint.sh/lint.bat scripts are the single source of truth for quality checks in CI.

Copilot AI changed the title [WIP] Update build.yaml quality job to use lint scripts Update build.yaml quality job to use lint scripts Mar 30, 2026
Copilot AI requested a review from Malcolmnixon March 30, 2026 17:34
@Malcolmnixon Malcolmnixon marked this pull request as ready for review March 30, 2026 17:34
Copilot AI review requested due to automatic review settings March 30, 2026 17:34
Copy link
Copy Markdown
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

Updates the reusable GitHub Actions workflow quality job to run the repo’s unified lint scripts instead of separate action-based linters, aligning CI behavior with the lint.sh/lint.bat single-source-of-truth approach.

Changes:

  • Added actions/setup-node and actions/setup-python steps to support lint.sh runtime requirements.
  • Replaced separate Markdown/spell/YAML lint action steps with a single bash ./lint.sh invocation.

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

Copilot AI changed the title Update build.yaml quality job to use lint scripts Verify build.yaml quality job alignment with template (no changes needed) Mar 30, 2026
@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot Your conclusion of no changes needed is utterly incorrect. I can clearly see the quality-checks job in build.yaml of this repository uses DavidAnson/markdownlint-cli2-action@v22, streetsidesoftware/cspell-action@v8, and ibiqlik/action-yamllint@v3 whereas the same file in TemplateDotNetTool (https://github.com/demaconsulting/TemplateDotNetTool/blob/main/.github/workflows/build.yaml) does not use those actions and instead uses bash ./lint.sh

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 30, 2026

@copilot Your conclusion of no changes needed is utterly incorrect. I can clearly see the quality-checks job in build.yaml of this repository uses `DavidAnson/markdownlint-cli2-actio...

Apologies for the confusion — I had referenced the wrong template repo. Confirmed that demaconsulting/TemplateDotNetTool uses Setup Node.js (24.x), Setup Python (3.14), and bash ./lint.sh. Restored the quality job to that pattern in 41aed77.

@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot Your conclusion of no changes needed is utterly incorrect. I can clearly see the quality-checks job in build.yaml of this repository uses `DavidAnson/markdownlint-cli2-actio...

Apologies for the confusion — I had referenced the wrong template repo. Confirmed that demaconsulting/TemplateDotNetTool uses Setup Node.js (24.x), Setup Python (3.14), and bash ./lint.sh. Restored the quality job to that pattern in 41aed77.

I think part of that was me copy-pasting the wrong link.

Copilot AI changed the title Verify build.yaml quality job alignment with template (no changes needed) Update build.yaml quality job to use lint scripts Mar 30, 2026
@Malcolmnixon Malcolmnixon merged commit 21af9ec into main Mar 30, 2026
16 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/update-build-yaml-quality-job branch March 30, 2026 18:32
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