Switch quality-checks job from individual lint actions to lint.sh script#50
Conversation
Agent-Logs-Url: https://github.com/demaconsulting/VersionMark/sessions/c1b7fd6b-fdee-4310-baaf-be823b557e06 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot Did you actually review the quality job from the https://github.com/demaconsulting/TemplateDotNetTool/blob/main/.github/workflows/build.yaml template and make sure this repo is in sync. |
Agent-Logs-Url: https://github.com/demaconsulting/VersionMark/sessions/fa4bb3ad-608e-46a6-8474-299d854fdfb0 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
I reviewed the template's quality job and found two additional discrepancies: The remaining intentional differences from the template's quality job are:
|
There was a problem hiding this comment.
Pull request overview
Updates the reusable build.yaml workflow to consolidate repository “quality checks” into the existing lint.sh script, aligning the job with the template approach and centralizing lint behavior.
Changes:
- Added Node.js and Python setup steps to the
quality-checksjob. - Replaced separate markdown/spell/YAML lint GitHub Actions with a single
bash ./lint.shinvocation.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Pull Request
Description
The
quality-checksjob was still using individual GitHub Actions for linting, which is why Dependabot kept surfacingmarkdownlint-cli2-actionupdate suggestions. The template (TemplateDotNetTool PR #61) consolidated these into a singlelint.shinvocation, but the change was never ported to VersionMark.Changes to
.github/workflows/build.yaml:Setup Node.js(24.x,actions/setup-node@v6) andSetup Python(3.14,actions/setup-python@v6) steps required bylint.sh, using action versions consistent with the template and the rest of the workflowrun: bash ./lint.sh:Intentional differences from the template — the template's quality job also includes
Setup dotnet,Restore Tools,Capture tool versions,Run VersionMark self-validation, andUpload quality artifactssteps. These are excluded here because the quality job builds VersionMark itself, sodotnet versionmarkis not available at that stage (as noted in the existing inline comment).Type of Change
Related Issues
Pre-Submission Checklist
Before submitting this pull request, ensure you have completed the following:
Build and Test
dotnet build --configuration Releasedotnet test --configuration Releasedotnet run --project src/DemaConsulting.VersionMark --configuration Release --framework net10.0--no-build -- --validateCode Quality
dotnet format --verify-no-changesQuality Checks
Please run the following checks before submitting:
cspell "**/*.{md,cs}"markdownlint "**/*.md"yamllint .Testing
Documentation
Additional Notes
This change removes the three third-party action dependencies (
markdownlint-cli2-action,cspell-action,action-yamllint) from the CI workflow. All linting is now delegated to the existinglint.shscript, which already runs the same tools locally. Thesetup-nodeandsetup-pythonaction versions (@v6) are aligned with the template and the rest of thebuild.yamlworkflow.