feat: implement /status command with full PR status report (BERTE-539)#276
feat: implement /status command with full PR status report (BERTE-539)#276matthiasL-scality wants to merge 1 commit into
Conversation
|
LGTM |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #276 +/- ##
==========================================
+ Coverage 89.62% 89.98% +0.35%
==========================================
Files 81 81
Lines 10614 10981 +367
==========================================
+ Hits 9513 9881 +368
+ Misses 1101 1100 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Review by Claude Code |
|
Review by Claude Code |
|
LGTM |
0c84b50 to
ec71df7
Compare
|
LGTM |
Replaces the stub /status command with a real implementation that reports the live state of all merge prerequisites: - Approvals: who has approved, what is missing (leaders, peers, author, unanimity, change requests) - Integration builds: worst build state across all integration branches; skipped if no build key or no branches - Fix versions: Jira fix-version correctness; skipped when Jira is not configured, disabled, or the branch has no issue reference - History: detects integration branch history drift (reset needed) Each check is shown as a table row with a pass/fail indicator and inline details on failure. The status command is resilient: if git clone or cascade build fails, it returns a partial report (approvals only) rather than crashing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ec71df7 to
5a58d98
Compare
|
LGTM |
eg-ayoub
left a comment
There was a problem hiding this comment.
I notice that some of these checks duplicate logic found in other files, for example the check_fix_versions logic, is that intentional ?
otherwise, the implementation looks good to me.
|
@eg-ayoub Good question — the duplication is intentional but it varies by check:
The |
Summary
/statuscommand with a real implementation that reports the live state of all merge prerequisitesDetails
commands.py_StatusItem: lightweight data class for a single status row (usessetattr(self, 'pass', ...)becausepassis a Python keyword)_check_approvals_status: mirrors thecheck_approvalsenforcement logic to report who/what is blocking approval_check_builds_status: reports worst build state across integration branches; skipped if no branches or no build key configured_check_fix_versions_status: checks Jira fix versions; skipped if Jira is not configured or checks are disabled_check_history_status: detects integration branch history drift (same logic as_reset); skipped if no integration branches_build_status_report: orchestrates all checks after cloning the repo and building the branch cascadestatus_report.md: updated template to render inline failure details next to the:exclamation:indicatorTest plan
test_status_command_reports_missing_approvals— status shows failing approvals when no approvals giventest_status_command_approvals_pass_when_bypassed— status shows passing approvals when bypass options are settest_status_command_history_check— status includes history check and correctly detects when a reset is neededTestBertEsuite passes (206 tests)🤖 Generated with Claude Code