Vladimir Sitnikov created CALCITE-7884:
------------------------------------------
Summary: CI should not run twice for a pull request from a branch
in apache/calcite
Key: CALCITE-7884
URL: https://issues.apache.org/jira/browse/CALCITE-7884
Project: Calcite
Issue Type: Improvement
Components: ci
Reporter: Vladimir Sitnikov
When a committer opens a pull request from a branch in apache/calcite itself,
the "CI" workflow runs twice for every commit: once for the {{push}} event and
once for the {{pull_request}} event. Both runs test the same commit.
Example: [PR #5350|https://github.com/apache/calcite/pull/5350], commit bd7b500
on branch {{issue7873}}:
* push run: https://github.com/apache/calcite/actions/runs/39893079564
* pull_request run: https://github.com/apache/calcite/actions/runs/39893298257
Each run has 15 CI jobs, and "Validate Gradle Wrapper" also runs once per
event, so the commit took 32 jobs and about 455 runner-minutes (about 229 per
run). 22 of the 32 jobs run on {{ubuntu-latest}}; on 2026-10-23 they waited in
the queue from 03:07 to 05:12–05:19 UTC. The ASF shared runners are congested
(dev@ thread "Calcite CI pending delays":
https://lists.apache.org/thread.html/yyw3bkc6lkk517hf3ol4sdhg3ozvb0yy), so the
duplicate run delays every other pull request too.
The cause is the trigger in {{.github/workflows/main.yml}}: {{push}} fires for
{{branches: '*'}}. {{gradle-wrapper-validation.yml}} uses {{on: [push,
pull_request]}} with the same effect.
Proposal: limit the {{push}} trigger to the {{main}} and {{release}} branches
in both workflows and keep {{pull_request}} as it is. A push to any other
branch, in apache/calcite or in a fork, then runs no CI until a pull request is
opened; a draft pull request gives the same CI.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)