Skip to content

[DRAFT] fix: add validation gate and misleading check status in PR workflows#2013

Draft
jkim323 wants to merge 5 commits into
mainfrom
fix/misleading-guithub-check-status
Draft

[DRAFT] fix: add validation gate and misleading check status in PR workflows#2013
jkim323 wants to merge 5 commits into
mainfrom
fix/misleading-guithub-check-status

Conversation

@jkim323

@jkim323 jkim323 commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Pull Request

Description

Problem:

  • PR validation workflows used continue-on-error: true on lint and check steps, which caused GitHub to report every individual job as green (passed) even when the underlying tool actually failed. This made the PR Checks tab misleading — reviewers could not tell at a glance whether validation truly passed or silently swallowed failures.

Changes made:

  • Remove continue-on-error from reusable workflows
  • Replace continue-on-error: true with explicit failure-state capture and exit 0
  • A new validation-gate job in pr-validation.yml:
    • Runs with if: always() after all 27 check jobs.
    • Iterates over every job's needs..result and writes a summary table to $GITHUB_STEP_SUMMARY.
    • Exits non-zero only when one or more jobs report failure or cancelled, producing a single authoritative pass/fail signal.
    • Groups consecutive >> "$GITHUB_STEP_SUMMARY" writes into redirect blocks (SC2129).
  • Add soft-fail awareness to the gate
    • The check_result() function accepts optional soft_fail and has_warnings parameters:
  • markdown-link-check.yml exposes a has-warnings output so the gate can distinguish "clean pass" from "passed with warnings." To add soft-fail awareness for other workflows, add a has-warnings output and pass the third/fourth args in the gate.

Related Issue(s)

Fixes #1940

Type of Change

Select all that apply:

Code & Documentation:

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to change)
  • Documentation update

Infrastructure & Configuration:

  • GitHub Actions workflow
  • Linting configuration (markdown, PowerShell, etc.)
  • Security configuration
  • DevContainer configuration
  • Dependency update

AI Artifacts:

  • Reviewed contribution with prompt-builder agent and addressed all feedback
  • Copilot instructions (.github/instructions/*.instructions.md)
  • Copilot prompt (.github/prompts/*.prompt.md)
  • Copilot agent (.github/agents/*.agent.md)
  • Copilot skill (.github/skills/*/SKILL.md)

Note for AI Artifact Contributors:

  • Agents: Research, indexing/referencing other project (using standard VS Code GitHub Copilot/MCP tools), planning, and general implementation agents likely already exist. Review .github/agents/ before creating new ones.
  • Skills: Must include both bash and PowerShell scripts. See Skills.
  • Model Versions: Only contributions targeting the latest Anthropic and OpenAI models will be accepted. Older model versions (e.g., GPT-3.5, Claude 3) will be rejected.
  • See Agents Not Accepted and Model Version Requirements.

Other:

  • Script/automation (.ps1, .sh, .py)
  • Other (please describe):

Sample Prompts (for AI Artifact Contributions)

User Request:

Execution Flow:

Output Artifacts:

Success Indicators:

For detailed contribution requirements, see:

Testing

Checklist

Required Checks

  • Documentation is updated (if applicable)
  • Files follow existing naming conventions
  • Changes are backwards compatible (if applicable)
  • Tests added for new functionality (if applicable)

AI Artifact Contributions

  • Used /prompt-analyze to review contribution
  • Addressed all feedback from prompt-builder review
  • Verified contribution follows common standards and type-specific requirements

Required Automated Checks

The following validation commands must pass before merging:

  • Markdown linting: npm run lint:md
  • Spell checking: npm run spell-check
  • Frontmatter validation: npm run lint:frontmatter
  • Skill structure validation: npm run validate:skills
  • Link validation: npm run lint:md-links
  • PowerShell analysis: npm run lint:ps
  • Plugin freshness: npm run plugin:generate
  • Docusaurus tests: npm run docs:test

Security Considerations

  • This PR does not contain any sensitive or NDA information
  • Any new dependencies have been reviewed for security issues
  • Security-related scripts follow the principle of least privilege

Additional Notes

  • Environment variable capture for failure state used patterns that triggered shell warnings.
  • spell-check.yml exited with the original error code despite continue-on-error, creating redundant failure signals.
  • Soft-fail jobs (e.g., markdown-link-check) showed ✅ in the summary with no indication that warnings existed.

@codecov-commenter

codecov-commenter commented Jun 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.81%. Comparing base (a847cfa) to head (cce5ff2).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2013      +/-   ##
==========================================
- Coverage   80.82%   80.81%   -0.01%     
==========================================
  Files         117      117              
  Lines       19095    19095              
==========================================
- Hits        15433    15432       -1     
- Misses       3662     3663       +1     
Flag Coverage Δ
pester 84.63% <ø> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jkim323 jkim323 changed the title [DRAFT] fix: add validation gate and fix misleading check status in PR workflows [DRAFT] fix: add validation gate and misleading check status in PR workflows Jun 16, 2026

@bindsi bindsi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved: the workflow validation aggregation changes are scoped and consistent with the existing PR workflow patterns. I did not find actionable correctness or generated-status issues.

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.

fix: Misleading job logs/UI from continue-on-error in spell-check and markdown-lint workflows

3 participants