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]
