Apply TemplateDotNetLibrary PR #28: staged pipelines, artifact consolidation, and OTS Software requirements#52
Conversation
…ibrary PR #28 Changes: - Bump demaconsulting.reqstream from 1.3.0 to 1.4.0 - quality-checks: Add INSTALL DEPENDENCIES section, move version capture to artifacts/ with --output flag, add OTS self-validation step, add RUN QUALITY CHECKS section, replace Upload version capture with Upload quality artifacts - build: Add INSTALL DEPENDENCIES, CAPTURE TOOL VERSIONS (moved before Restore Dependencies), CAPTURE OTS SELF-VALIDATION RESULTS, BUILD AND TEST, and UPLOAD ARTIFACTS sections; output test results to artifacts/; upload build artifacts and packages as separate named artifacts - codeql: Add INSTALL DEPENDENCIES, BUILD AND ANALYZE, UPLOAD ARTIFACTS sections; output SARIF to artifacts/; upload as artifacts-codeql - integration-test: Download from packages-${{ matrix.os }}; update version capture to artifacts/ folder; use artifacts-int-* and artifacts-validation-* upload names - build-docs: Consolidate 4 artifact downloads into single Download all job artifacts step; update paths from packages/test-results/codeql-results/ version-captures to unified artifacts/; add 5 OTS self-validation steps; update reqstream, sarifmark, versionmark to use artifacts/ paths - release: Download from packages-ubuntu-latest - requirements.yaml: Add OTS Software section with 6 requirements covering MSTest, ReqStream, BuildMark, VersionMark, SarifMark, and SonarMark
…ngle upload Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Malcolmnixon
left a comment
There was a problem hiding this comment.
The build failed - it seems the the build-docs isn't downloading the package-artifact so it can't install versionmark from the generated package. Also seeing as versionmark is being installed globally the command to run the versionmark self-validation would need to be altered.
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed in commit 29353db — added a The versionmark self-validation commands ( |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Pull Request
Description
Ports the changes from demaconsulting/TemplateDotNetLibrary#28 into this template: standardized four-section job structure across all CI jobs, a unified
artifacts/folder convention replacing scattered per-job artifact names, and a new OTS Software Requirements section inrequirements.yaml..config/dotnet-tools.jsondemaconsulting.reqstream1.3.0→1.4.0to enableReqStream_EnforcementModeself-validation.github/workflows/build.yamlAll jobs now follow four consistent sections with
# === SECTION ===comments:quality-checks: captures VersionMark versions toartifacts/, runs VersionMark self-validation, uploads asartifacts-qualitybuild: version capture moved before build/test; test results written toartifacts/; VersionMark self-validation added; uploads split intoartifacts-build-${{ matrix.os }}(all build outputs) andpackages-${{ matrix.os }}(NuGet only)codeql: CodeQL SARIF output routed directly toartifacts/, uploaded asartifacts-codeqlintegration-test: added standard section comments (INSTALL DEPENDENCIES,CAPTURE TOOL VERSIONS,RUN INTEGRATION TESTS,UPLOAD ARTIFACTS); version capture moved before tests; self-validation TRX written toartifacts/; two separate uploads consolidated into a singleartifacts-validation-${{ matrix.os }}-dotnet${{ matrix.dotnet-version }}artifactbuild-docs: four separate artifact downloads collapsed into one withpattern: 'artifacts-*'+merge-multiple: true; a separateDownload packages artifactstep downloadspackages-ubuntu-latestto apackages/folder so TemplateTool can be installed via--add-source packages(consistent with theintegration-testjob pattern); adds five OTS self-validation steps (ReqStream, BuildMark, VersionMark, SarifMark, SonarMark); all paths updated toartifacts/.github/workflows/release.yamlpackages-ubuntu-latest(wasartifacts-ubuntu-latest)requirements.yamlOTS Softwaresection with sixots-tagged requirements:Template-OTS-MSTest,Template-OTS-ReqStream,Template-OTS-BuildMark,Template-OTS-VersionMark,Template-OTS-SarifMark,Template-OTS-SonarMark, each linked to self-validation TRX evidenceType 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.TemplateDotNetTool --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
No C# code changes — this PR is entirely CI workflow restructuring and requirements traceability additions. The
artifacts/folder convention ensures every job writes all outputs to a single local directory without intermediate copy steps, keeping download/publish steps simple and consistent across jobs. Thebuild-docsjob downloadspackages-ubuntu-latestto a separatepackages/folder and installs TemplateTool via--add-source packages, following the same pattern as theintegration-testjob and keeping packages separate from build artifacts.🔒 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.