felipepessoto commented on code in PR #12781:
URL: https://github.com/apache/gluten/pull/12781#discussion_r3788252935


##########
.github/workflows/delta_spark_ut.yml:
##########
@@ -139,19 +162,63 @@ env:
 # Now that this is a standalone workflow (not called by velox_backend_x86.yml),
 # `github.workflow` resolves to THIS workflow, so a concurrency group is both 
safe
 # and necessary: without it every push to a PR branch stacks another full ~2.5 
h
-# Delta run instead of superseding the previous one. Keyed on the branch for 
PRs
-# and the sha otherwise, matching velox_backend_x86.yml's group.
+# Delta run instead of superseding the previous one. Keyed on the PR number 
when
+# there is one, so a `pull_request` run and a `/delta-test` run on the same PR
+# supersede each other -- `github.head_ref` is empty on `issue_comment`, which
+# would otherwise lump every commented-on PR into one shared group.
 concurrency:
-  group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ 
github.workflow }}
+  group: ${{ github.repository }}-${{ github.event.pull_request.number || 
github.event.issue.number || github.head_ref || github.sha }}-${{ 
github.workflow }}
   cancel-in-progress: true
 
 jobs:
+  # Gate + acknowledgement for `/delta-test`, and nothing else: the ref to 
check
+  # out is computed in `env.DELTA_CHECKOUT_REF` above, so this job has no 
outputs
+  # and the rest of the pipeline just hangs off it via `needs`.
+  #
+  # Every other event passes straight through (the `if` short-circuits), 
leaving
+  # their behaviour unchanged.
+  #
+  # Kept as its own job so that `pull-requests: write` -- needed to comment 
back
+  # -- is never granted to a job that builds and runs the PR's code.
+  delta-test-requested:
+    # The PR author (the whole point: a fork author cannot label their own PR,
+    # but can always comment on it) or anyone with write access. `startsWith`,
+    # not `contains`, so quoting the command while discussing it does not spend
+    # ~11 job-hours.

Review Comment:
   Good catch, and it turns out to be worse than a wording mismatch — on this 
repo the allow-list was simply wrong, so I've removed it rather than reworded 
it (d36c9dc).
   
   ASF repos grant write access through Gitbox, not through GitHub 
org/collaborator membership, so `author_association` doesn't track it at all. 
Sampling recent `apache/gluten` PR review comments:
   
   | association | who |
   |---|---|
   | `MEMBER` | zhouyuan, zhztheplayer |
   | `COLLABORATOR` | *nobody* |
   | `CONTRIBUTOR` | FelixYBW, JkSelf, KevinyhZou, QiangCai, baibaichen, 
binmahone, jinchengchenghh, lgbo-ustc, liuneng1994, lviiii, marin-ma, rui-mo, 
taiyang-li, weiting-chen, zhixingheyi-tian, zzcclp |
   
   So `OWNER/MEMBER/COLLABORATOR` would have **rejected 16 of the 18 
maintainers** while accepting any member of the `apache` org — the opposite of 
the intent.
   
   The gate is now just the PR author:
   
   ```yaml
   github.event.comment.user.login == github.event.issue.user.login
   ```
   
   That is exactly the gap this PR closes (a fork author cannot label their own 
PR, but can always comment on it), it is precisely describable, and it is the 
most conservative option for a ~11 job-hour run. A maintainer who wants a run 
on someone else's PR asks the author to comment.
   
   If reviewers would rather maintainers could trigger it directly, the correct 
mechanism on an ASF repo is a real permission check — `GET 
/repos/{owner}/{repo}/collaborators/{login}/permission` requiring 
`write`/`maintain`/`admin` — which is a few lines in the gate job. Happy to add 
it if wanted.



##########
.github/workflows/util/delta-spark-ut/README.md:
##########
@@ -97,12 +97,26 @@ longer shared between them, those PRs pay for the centos-7 
native build twice
   filter before creating the run, so an unrelated PR costs nothing at all.
   Changes to general Velox/core/native code can also affect Delta offload, but
   they're touched on most PRs, so per-PR they skip the suite — the nightly run 
is
-  the safety net.
+  the safety net, and `/delta-test` below forces a run on any PR the filter
+  skipped.
 - **Nightly** — the **full** suite runs against the latest default branch on a
   `schedule` (05:00 UTC), so regressions from general Velox/core changes are
   still caught daily. The nightly run enforces the baseline **and** fails on
   now-passing tests (`fail_on_fixed=true`), so baseline drift surfaces as a red
   nightly — the signal to refresh `known-failures.txt`.
+- **On demand, from a PR** — comment **`/delta-test`** (as the first thing in 
the
+  comment) to force a full run on a PR the `paths:` filter skipped. The **PR
+  author** — including from a fork, which is why this is a comment and not a
+  label — or anyone with write access can use it. It runs the PR's merge ref 
with
+  the default settings and the baseline **enforced**; `update_baseline` stays

Review Comment:
   Fixed in d36c9dc. Rather than reword the README to match the allow-list, I 
removed the allow-list — on an ASF repo `author_association` doesn't track 
write access at all (write comes from Gitbox), so `COLLABORATOR` matches nobody 
here and 16 of the 18 `apache/gluten` maintainers I sampled report 
`CONTRIBUTOR`. Details in the [thread on the workflow 
file](https://github.com/apache/gluten/pull/12781#discussion_r3788252935).
   
   The README now states the actual rule with no qualifiers: the **PR author** 
comments `/delta-test`; a maintainer who wants a run on someone else's PR asks 
the author to comment.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to