rusackas commented on PR #40719:
URL: https://github.com/apache/superset/pull/40719#issuecomment-4615860108

   On the "gate behind unit + frontend too" idea — totally agree on the 
principle (E2E is the priciest, so ideally it only runs once the cheap gates 
are green). The catch is GitHub's `workflow_run` fires on *each* listed 
workflow completing and has no native "run only if **all** of [pre-commit, 
unit, frontend] succeeded" — you'd have to list them all and then query the 
others' latest status via the API on every trigger, which is fiddly and 
race-prone. The clean way to express "A and B and C must pass before E2E" is to 
put them in one workflow with `needs:` — but they're separate workflows today, 
so that's a bigger consolidation.
   
   I deliberately started with **pre-commit** as the single gate because it's 
the fastest (~4 min) and catches the most common failures (lint/format/type), 
so it captures most of the "don't waste E2E on a broken PR" value at minimal 
complexity. Gating additionally on unit + frontend has real diminishing returns 
for a lot of added cross-workflow glue.
   
   Your auto-cancel alternative is viable but similar in spirit — it needs a 
job that polls the other workflows' status and self-cancels via the API. Happy 
to prototype either the multi-gate or a consolidated-CI approach as a follow-up 
if folks want to invest in the coordination — but I'd suggest landing the 
pre-commit gate first to prove the mechanism, then layering more gates on top.


-- 
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