fix(auto_fixer): マージ済み PR で refix:merged ラベルが付かない不具合を修正#64
fix(auto_fixer): マージ済み PR で refix:merged ラベルが付かない不具合を修正#64HappyOnigiri merged 2 commits intomainfrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthrough新しいラベル Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/auto_fixer.py (1)
1306-1341:⚠️ Potential issue | 🟠 Major
refix:mergedの付与条件が広がりすぎています。この変更後は
mergedAtとrefix:doneだけでrefix:mergedを付けるため、Refix が auto-merge を要求していない PR でも、人手で merge されれば同じラベルが付きます。_ensure_refix_labels()の説明文は「PR has been merged after Refix auto-merge.」なので意味が崩れますし、_backfill_merged_labels()経由でそれらまで改変件数に数えられるため、max_modified_prs_per_runの消費にもつながります。auto-merge を実際に要求した事実を別途保持して判定に使うか、ラベルの意味と説明をこの新しい挙動に合わせて揃える必要があります。🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/auto_fixer.py` around lines 1306 - 1341, 現在の条件は mergedAt と REFIX_DONE_LABEL のみで REFIX_MERGED_LABEL を付与しており、人手マージされた PR まで含んでしまうため、_ensure_refix_labels() の「auto-merge 後に付く」という説明と挙動が乖離しています。修正方法:_auto_fixer の該当ブロックが REFIX_MERGED_LABEL を付ける前に「Refix が auto-merge を要求していたこと」を示す追加条件を必ず確認するように変更してください(例えば PR に残している auto-merge 用ラベル/フラグをチェックするか、auto-merge 要求を永続化する仕組みを導入して _pr_has_label(pr_data, <REFIX_AUTO_MERGE_LABEL>) 又は保存した状態を確認する)。対象は関数/符号名 mergedAt, _pr_has_label, REFIX_DONE_LABEL, REFIX_MERGED_LABEL, _ensure_refix_labels, _backfill_merged_labels, max_modified_prs_per_run で、これらを用いて「mergedAt & REFIX_DONE_LABEL & auto-merge-requested」が揃った場合のみ _set_pr_merged_label を呼ぶようにしてください。
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@src/auto_fixer.py`:
- Around line 1306-1341: 現在の条件は mergedAt と REFIX_DONE_LABEL のみで
REFIX_MERGED_LABEL を付与しており、人手マージされた PR まで含んでしまうため、_ensure_refix_labels()
の「auto-merge 後に付く」という説明と挙動が乖離しています。修正方法:_auto_fixer の該当ブロックが REFIX_MERGED_LABEL
を付ける前に「Refix が auto-merge を要求していたこと」を示す追加条件を必ず確認するように変更してください(例えば PR に残している
auto-merge 用ラベル/フラグをチェックするか、auto-merge 要求を永続化する仕組みを導入して _pr_has_label(pr_data,
<REFIX_AUTO_MERGE_LABEL>) 又は保存した状態を確認する)。対象は関数/符号名 mergedAt, _pr_has_label,
REFIX_DONE_LABEL, REFIX_MERGED_LABEL, _ensure_refix_labels,
_backfill_merged_labels, max_modified_prs_per_run で、これらを用いて「mergedAt &
REFIX_DONE_LABEL & auto-merge-requested」が揃った場合のみ _set_pr_merged_label
を呼ぶようにしてください。
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 4e00596f-6758-4ff3-9953-a6fb99f3b019
📒 Files selected for processing (2)
src/auto_fixer.pytests/test_auto_fixer.py
_trigger_pr_auto_merge() 成功時に refix:auto-merge-requested ラベルを付与し、 _mark_pr_merged_label_if_needed() と _backfill_merged_labels() で同ラベルの 存在を確認することで、手動マージされた PR に誤って refix:merged が付く問題を修正。
🤖 Refix Status処理済みレビュー一覧 (System Use Only)
|
概要 / Summary
マージ済み PR に
refix:mergedラベルが付かない不具合を修正。変更内容 / Changes
_mark_pr_merged_label_if_neededからautoMergeRequestのチェックを削除autoMergeRequestをnullで返すため、条件が常に偽となりラベルが付与されていなかったgh pr viewの--jsonから不要になったautoMergeRequestを削除autoMergeRequestなし)テスト / Testing
make ciで全テストパス済み。関連 issues / Related issues
なし
Summary by CodeRabbit
リリースノート