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)

Reply via email to