ci(workflows): add PR validation merge gate and fix docusaurus workflow#2213
Merged
Conversation
Contributor
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.OpenSSF Scorecard
Scanned Files
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2213 +/- ##
==========================================
+ Coverage 81.29% 81.31% +0.02%
==========================================
Files 129 130 +1
Lines 19068 19140 +72
Branches 12 12
==========================================
+ Hits 15501 15564 +63
- Misses 3564 3573 +9
Partials 3 3
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Contributor
Eval Execution✅ Status: Passed
No changed AI artifacts required evaluation. |
Collaborator
Author
🧭 Reviewer's guideThis PR bundles three logically separate changes under one branch.
Two things worth a second look
Suggested review order
|
WilliamBerryiii
approved these changes
Jun 29, 2026
agreaves-ms
approved these changes
Jun 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
Description
Adds a required merge gate for PR validation and fixes the Docusaurus workflow along with several broken documentation links.
pr-validation-successaggregator job topr-validation.yml(if: always(), depends on every non-gate job, fails when any required job fails, is cancelled, or is skipped) to provide a single, stable status context for branch-protection rules.scripts/security/Test-PrValidationGate.ps1(+ Pester tests and fixtures) that fails CI when a new job is added topr-validation.ymlwithout being wired into the aggregator''sneeds:, preventing silent gaps in the gate. Wired intopackage.jsonaslint:pr-gate(included inlint:all) and documented inworkflows.instructions.mdand the workflowsREADME.md.docusaurus-tests.ymlconfiguration.docs/agents/project-planning/pages.pr-validation-successpreviously passed even when a needed job failed. The aggregation jq now selectsresult != "success" and != "skipped"and runs underset -euo pipefail, so any real failure blocks the gate while intentional skips (e.g. python jobs gated onhas-projects) still pass.needs:elements before computing stale entries. A stray YAML null (~) or empty string ("") is not a real job ID, so it would surface as a false "stale" violation and fail the check. Now elements are filtered, not just the container, so the validator only flags genuine drift.empty-needs.ymlfixture (needs: [lint, test, ~, "", build]) and a new context asserting null/empty entries are filtered with no stale/missing.Related Issue(s)
fix #2214
Type of Change
Select all that apply:
Code & Documentation:
Infrastructure & Configuration:
Other:
.ps1,.sh,.py)Testing
npm run lint:pr-gateexits 0.pr-validation.ymlanddocusaurus-tests.ymlparse as valid YAML.Test-PrValidationGate.Tests.ps1passes (16 tests) against the complete / missing-job / stale-needs fixtures.Checklist
Required Checks
Required Automated Checks
The following validation commands must pass before merging:
npm run lint:mdnpm run spell-checknpm run lint:frontmatternpm run validate:skillsnpm run lint:md-linksnpm run lint:psnpm run plugin:generatenpm run docs:testSecurity Considerations
Additional Notes
PR Validation / PR Validation Successto the branch-protection ruleset for the gate to become enforcing.markdown-link-checkis intentionally left as soft-fail (grace period) and can be flipped to blocking afterignorePatternsare tuned.