Apply TemplateDotNetTool updates: workflow comments, artifact naming, OTS self-validation, and OTS requirements#106
Conversation
… OTS self-validation, OTS requirements Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
.github/workflows/build.yaml
Outdated
| run: dotnet reqstream --validate --results artifacts/reqstream-self-validation.trx | ||
|
|
||
| - name: Run BuildMark self-validation | ||
| run: dotnet buildmark --validate --results artifacts/buildmark-self-validation.trx |
There was a problem hiding this comment.
This is the BuildMark project, and BuildMark is installed from package as a global tool - as such buildmark shouldn't be executed via 'dotnet'.
There was a problem hiding this comment.
Fixed in 5fa8e66 — changed dotnet buildmark to buildmark so it invokes the globally-installed tool directly.
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot I believe you may need to update ReqStream to the latest release (1.4.0) to pass the OTS Software requirements for it. |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot Wait, how did you "forget" to update ReqStream - didn't you go through the template PRs and apply the appropriate changes? Did you forget anything else? |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
The ReqStream version bump was explicitly listed in TemplateDotNetTool PR #52's description and I should have included it in the initial commit — that was an oversight. On reviewing everything more carefully against the template, I also found that |
Syncs BuildMark with recent TemplateDotNetTool template changes covering workflow structure, artifact naming conventions, OTS tool self-validation, and OTS software requirements traceability.
Workflow Comments & Section Dividers (
build.yaml,release.yaml)# === SECTION ===dividers within jobs for consistent readabilityArtifact Naming (
build.yaml,release.yaml)Adopts the template's two-tier naming scheme:
artifacts-${{ matrix.os }}(packages)packages-${{ matrix.os }}test-results-*+version-capture-*artifacts-build-${{ matrix.os }}codeql-sarifartifacts-codeqlvalidation-test-results-*artifacts-validation-*version-capture-qualityartifacts-qualityAll jobs now write outputs into an
artifacts/directory with explicit--outputpaths, enablingbuild-docsto consolidate three separate download steps into one:The
build-docsjob downloads packages frompackages-ubuntu-latest(consistent with the template andrelease.yaml).OTS Tool Self-Validation (
build.yaml)Added
# === CAPTURE OTS SELF-VALIDATION RESULTS ===sections to produce.trxevidence files consumed by ReqStream--enforce:quality-checks: VersionMark self-validationbuild: VersionMark self-validationbuild-docs: ReqStream, BuildMark, VersionMark, SarifMark, SonarMark self-validationBuildMark self-validation in
build-docsinvokesbuildmarkdirectly (as a globally-installed tool) rather than viadotnet buildmark.OTS Software Requirements (
requirements.yaml)Added
OTS Softwaresection with 6 requirements linked to self-validation test names:BuildMark-OTS-MSTest,BuildMark-OTS-ReqStream,BuildMark-OTS-BuildMark,BuildMark-OTS-VersionMark,BuildMark-OTS-SarifMark,BuildMark-OTS-SonarMarkAdditional Fixes
reqstream --testsglob:test-results/**/*.trx→artifacts/**/*.trxsarifmark --sarifpath:codeql-results/csharp.sarif→artifacts/csharp.sarifshell: bash, changed"$env:SONAR_TOKEN"→"$SONAR_TOKEN"for cross-platform portability--filtermoved before--metadatafor consistency with template1.3.0to1.4.0in.config/dotnet-tools.jsonto satisfy theBuildMark-OTS-ReqStreamself-validation requirementbuild-docspackages download:packages-windows-latest→packages-ubuntu-latestfor consistency with the template andrelease.yamlType of Change
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.BuildMark --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 '**/*.{yml,yaml}'Testing
Documentation
Additional Notes
All YAML files validated as syntactically correct. No code changes — CI/CD workflow and requirements traceability only.
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.