fix(ci): remove duplicate python-ci call from pr-validation.yml - #96
Conversation
The core-validation job in pr-validation.yml re-invoked the shared python-ci.yml reusable at the same pinned SHA already called by ci.yml's ci job, roughly doubling PR CI cost (quality checks, unit tests, integration tests, security tests, coverage combine, LLM governance, and the Python matrix all ran twice per PR). Remove the core-validation job and its reusable call. Keep ci.yml's call as the single source of truth. Update validation-summary to drop the needs.core-validation reference, the CORE_RESULT env var, its result-based echo block, and the failure condition that tested it; leaving that reference in place after deleting the job would have caused the workflow to fail to parse. The dependency-standards-validation job, a normal job with its own steps that produces the required Dependency & Standards Validation status check, is untouched. #CRITICAL validation-summary is not itself a required status check in this repo (it is named Validation Summary); the four required contexts were verified against the org ruleset (gh api repos/ByronWilliamsCPA/rag-processor/rules/branches/main) before this change: CI Gate from ci.yml's ci-gate job, Security Gate Validation from security-analysis.yml, Check REUSE Compliance from reuse.yml, and Dependency & Standards Validation from the dependency-standards-validation job kept in this file. #VERIFY re-run the ruleset query after merge to confirm all four required contexts still report on the next PR. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned Files
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe pull request workflow no longer runs or reports the ChangesPull request validation
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to Pull request validation no longer runs the duplicate core validation workflow, while remaining validation checks and their failure reporting continue to run. The change is ready to merge. Suggested labels: Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
There was a problem hiding this comment.
🟡 Changes recommended
The validation summary step can still report “All validation checks passed!” despite non-success optional results and only treats failure (not other non-success states) as required-check failure, which can produce misleading output.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Removes the redundant org-level python-ci.yml reusable workflow invocation from pr-validation.yml so the shared Python CI runs only once per PR (via ci.yml), reducing duplicated checks and CI time.
Changes:
- Removed the
core-validationjob that re-invoked the sharedpython-ci.ymlreusable workflow. - Updated
validation-summaryto dropneeds.core-validation, removeCORE_RESULT, and adjust summary output and failure logic accordingly.
File summaries
| File | Description |
|---|---|
.github/workflows/pr-validation.yml |
Removes the duplicate reusable workflow call and updates the summary job dependencies and reporting to match. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| # Fail if required checks failed | ||
| if [ "$CORE_RESULT" == "failure" ] || [ "$DEP_RESULT" == "failure" ]; then | ||
| if [ "$DEP_RESULT" == "failure" ]; then | ||
| echo "" | ||
| echo "Required validation checks failed. Please review and fix issues." >> $GITHUB_STEP_SUMMARY | ||
| exit 1 |



What
Removes the
core-validationjob from.github/workflows/pr-validation.yml.That job re-invoked the shared
python-ci.ymlreusable workflow at the samepinned SHA (
7d12f5486ab5c856397ebaa4acd3c99ca385227c) already called by thecijob in.github/workflows/ci.yml.Before/after
ci.yml(line 33)and once from
pr-validation.yml(line 36), duplicating quality checks, unittests, integration tests, security tests, coverage combine, LLM governance,
and the Python matrix.
ci.ymlonly.Files changed
.github/workflows/pr-validation.yml: removed thecore-validationjob;updated the
validation-summaryjob (an informational aggregator, notitself a required status check) to drop the
needs.core-validationreference, the
CORE_RESULTenv var, its result-based summary lines, andthe failure condition that tested it.
Verification
producers before editing:
CI Gate(ci.yml ci-gate job),Security Gate Validation(security-analysis.yml),Check REUSE Compliance(reuse.yml),Dependency & Standards Validation(pr-validation.ymldependency-standards-validationjob, a normal job with its own steps,untouched by this change). None of these depend on
core-validation.actionlint .github/workflows/pr-validation.yml: no new findings; thepre-existing shellcheck info/style notices in unrelated script blocks
actually decreased (22 to 20) since a script block was removed.
python -c "import yaml; yaml.safe_load(...)": parses cleanly.pre-commit run --files .github/workflows/pr-validation.yml: all hookspassed cleanly, no skips needed.
Generated with Claude Code
Summary by CodeRabbit