sunchao commented on code in PR #5842:
URL: https://github.com/apache/datafusion-comet/pull/5842#discussion_r3989641133
##########
.github/workflows/ci.yml:
##########
@@ -305,3 +320,61 @@ jobs:
spark-short: '4.1'
spark-full: '4.1.3'
java: 17
+
+ # ---------------------------------------------------------------------------
+ # required_checks: one flat job that aggregates every other job's result, so
+ # that `main` has a single name it can safely require.
+ #
+ # Nothing requires it yet. It is landing first, on its own, so that we can
+ # watch it report on real pull requests before `.asf.yaml` names it in
+ # `required_status_checks` for `main`.
+ #
+ # None of the jobs above can be required directly, because the name a caller
+ # of a reusable workflow publishes depends on whether it ran:
+ #
+ # skipped by `if:` one check run named exactly `PR Build (Linux)`
+ # actually ran only `PR Build (Linux) / Spark 4.1, JDK 17 [exec]`,
+ # ... and no bare `PR Build (Linux)` at all
+ #
+ # So requiring the bare name would block every code change, and requiring a
+ # nested name would block every docs-only change. Both hang rather than fail,
+ # and a required context that never reports also locks `.asf.yaml` itself,
+ # which then needs an INFRA ticket to unwedge. Aggregating into one flat job,
+ # whose name is published on every event, avoids the whole class of problem.
+ #
+ # `if: always()` is what makes this work: without it the job inherits the
+ # default `success()` and is itself skipped the moment any dependency fails.
+ # ---------------------------------------------------------------------------
+ required_checks:
+ name: Required Checks
+ if: always()
Review Comment:
### Correctness
[P2] Keep label-only runs from publishing an incomplete required verdict
Could every run publishing this shared name validate the applicable PR-tier
checks? `ci.yml` also runs on `labeled`, while
`compute-changes.py::event_allows` deliberately excludes the ordinary PR tier
for that event. Those jobs are therefore skipped even when the changed files
require them, and this aggregator reports success after just preflight and
change detection, or after the one opt-in suite. Its `needs` cannot observe
pending or failed jobs in the separate commit run. A green label-run result is
therefore not evidence that the commit's applicable suites passed. The
shared-name reporting problem is already described in
[#5007](https://github.com/apache/datafusion-comet/issues/5007). Before this
becomes the single required context, please ensure each producer validates the
complete applicable test set and add a label-event coverage regression. Simply
skipping this job on label events would still emit a [passing skipped
check](https://docs.github.com/en/repositories/configurin
g-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging)
under that name.
--
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]