The GitHub Actions job "Required Checks" on texera.git/main has failed.
Run started by GitHub user github-merge-queue[bot] (triggered by 
github-merge-queue[bot]).

Head commit for run:
5040cadf383049edf90df4195d35066379d06c4e / Yicong Huang 
<[email protected]>
ci: report backport auto-label decisions on the PR (#6962)

### What changes were proposed in this PR?

The backport auto-label workflow
(`.github/workflows/backport-auto-label.yml`) decides, per
actively-supported release branch, whether to add a `release/*` label to
a `fix:` PR. Until now every skip was silent — visible only in the
Actions log. Its cheap "is this feature on the branch?" check compares
**exact file paths**, so a file moved or renamed after the branch was
cut reads as *absent* and the label is dropped with no signal to the
author. #6960 hit exactly this: its files live under `coordinator/` on
`main` but `controller/` on `release/v1.2`, so a fix that genuinely
applied to v1.2 was never labeled.

This PR makes the workflow write its reasoning back to the PR as a
single report comment:

- **One row per actively-supported release branch**, with the decision
and why:
- ✅ **labeled** — change detected on the branch; label added (and who
was requested for review);
- ⚠️ **skipped** — none of the modified files exist on the branch (the
files are listed), with a prompt to check and add the label by hand if
the fix should be backported;
  - 🚫 **declined** — a previously removed label (opt-out), not re-added.
- The comment is **upserted in place** via a hidden marker, so `edited`
re-runs update the same comment instead of stacking new ones (editing a
comment sends no notification, so re-runs stay quiet).
- It links the auto-label run, and is authored by `github-actions[bot]`
like the existing review request (no label PAT needed).
- Inactive branches and non-`fix:` PRs are unchanged (no comment); a
`no-backport-needed` PR gets a one-line note instead of the table.

Labeling behavior itself is unchanged — this only surfaces the decisions
that were already being made.

### Any related issues, documentation, discussions?

Resolves #6961. Follow-up to the backport lifecycle automation (#6941,
#6959). Motivated by #6960, which was silently not labeled for
`release/v1.2`.

### How was this PR tested?

- YAML parses and the embedded github-script passes `node --check`
(async-wrapped).
- Walked the branch/label/timeline/file-status cases against #6960's
real data to confirm the rows and skip reasons render as intended.
- Full end-to-end exercise needs a live `pull_request_target` event with
the org PAT/secrets, which only runs once merged.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Opus 4.8)

Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/30332644364

With regards,
GitHub Actions via GitBox

Reply via email to