mirror of
https://github.com/dotnet/skills.git
synced 2026-09-20 09:49:54 +08:00
Clarify evaluation progress PR label (#1082)
* Clarify evaluation progress label Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: d35e7696-f69c-4898-ad3e-c75fb02b993d * Distinguish queued and running evaluations Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: d35e7696-f69c-4898-ad3e-c75fb02b993d --------- Copilot-Session: d35e7696-f69c-4898-ad3e-c75fb02b993d
This commit is contained in:
@@ -35,6 +35,7 @@ BOT_LOGIN="github-actions[bot]"
|
||||
MERGE_APPROVERS_TEAM="@dotnet/skills-merge-approvers"
|
||||
|
||||
STATE_LABELS=(
|
||||
"pr-state/evals-in-progress"
|
||||
"pr-state/ready-for-eval"
|
||||
"waiting-on-review"
|
||||
"ready-to-merge"
|
||||
@@ -339,8 +340,10 @@ if [ -z "$STATE" ]; then
|
||||
else
|
||||
STATE="in-review"
|
||||
fi
|
||||
elif [ "$EVAL_STATE" = "pending" ] && eval_run_exists_for_head; then
|
||||
STATE="evals-in-progress"
|
||||
else
|
||||
# eval has not succeeded yet
|
||||
# No evaluation is running for this head, or the last one failed.
|
||||
STATE="ready-for-eval"
|
||||
fi
|
||||
fi
|
||||
@@ -357,6 +360,7 @@ case "$STATE" in
|
||||
: ;; # do not reconcile labels for skip/scan-only states
|
||||
needs-author-attention) reconcile_state_label "waiting-on-author" ;;
|
||||
ready-for-eval) reconcile_state_label "pr-state/ready-for-eval" ;;
|
||||
evals-in-progress) reconcile_state_label "pr-state/evals-in-progress" ;;
|
||||
ready-for-review) reconcile_state_label "waiting-on-review" ;;
|
||||
ready-for-merge) reconcile_state_label "ready-to-merge" ;;
|
||||
in-review) reconcile_state_label "pr-state/in-review" ;;
|
||||
@@ -409,6 +413,7 @@ do_eval_trigger() {
|
||||
if gh workflow run evaluation.yml --repo "$REPO" \
|
||||
-f pr_number="$PR_NUMBER" \
|
||||
-f head_sha="$HEAD_SHA_SHORT" >/dev/null; then
|
||||
reconcile_state_label "pr-state/evals-in-progress"
|
||||
log "eval-trigger: dispatched evaluation.yml for PR #$PR_NUMBER @ $HEAD_SHA_SHORT"
|
||||
summary " - action: eval-trigger (dispatched evaluation.yml)"
|
||||
else
|
||||
@@ -539,6 +544,9 @@ case "$STATE" in
|
||||
ready-for-eval)
|
||||
do_eval_trigger
|
||||
;;
|
||||
evals-in-progress)
|
||||
log "no action for state=evals-in-progress"
|
||||
;;
|
||||
ready-for-review|ready-for-merge)
|
||||
do_maintainer_ping
|
||||
;;
|
||||
|
||||
@@ -73,7 +73,8 @@ Order of evaluation; first match wins:
|
||||
| 4 | eval == success && `APPROVED` | `ready-for-merge` | `ready-to-merge` | maintainer-ping/C |
|
||||
| 5 | eval == success && `REVIEW_REQUIRED`/none | `ready-for-review` | `waiting-on-review` | maintainer-ping/A |
|
||||
| 6 | eval == success && other decision | `in-review` | `pr-state/in-review` | reconcile only |
|
||||
| 7 | otherwise | `ready-for-eval` | `pr-state/ready-for-eval` | eval-trigger |
|
||||
| 7 | eval == pending && run exists for head | `evals-in-progress` | `pr-state/evals-in-progress` | reconcile only |
|
||||
| 8 | otherwise | `ready-for-eval` | `pr-state/ready-for-eval` | eval-trigger |
|
||||
|
||||
Trusted = `OWNER` / `MEMBER` / `COLLABORATOR`. Bots are short-circuited as trusted.
|
||||
|
||||
@@ -99,7 +100,8 @@ State labels (exactly one is reconciled at a time). Where the existing label
|
||||
taxonomy already covered a state, the workflow reuses it rather than introducing
|
||||
a duplicate `pr-state/*` name:
|
||||
|
||||
- `pr-state/ready-for-eval` *(new)*
|
||||
- `pr-state/ready-for-eval` *(existing — queued, missing, or failed evaluation)*
|
||||
- `pr-state/evals-in-progress` *(new — evaluation pending for the current head)*
|
||||
- `waiting-on-review` *(existing — reused for `ready-for-review`)*
|
||||
- `ready-to-merge` *(existing — reused for `ready-for-merge`)*
|
||||
- `waiting-on-author` *(existing — reused for `needs-author-attention`)*
|
||||
|
||||
Reference in New Issue
Block a user