Skip to content

[CI] Replace the PR Limit workflow with the .asf.yaml pull request creation cap #55163

Closed

Description

@rok

Describe the enhancement requested

pr_limit.yml (added in #51200) closes pull requests from contributors without repository access once they have more than 3 open at the same time. It can be replaced by the .asf.yaml's creation_cap, so GitHub's native pull request creation cap can now be configured in .asf.yaml:

github:
  pull_requests:
    creation_cap:
      enabled: true
      max_open_pull_requests: 3
      include_drafts: true

However GitHub's cap only exempts users with write access. Current workflow also exempted triage collaborators (the collaborators list in .asf.yaml). apache/infrastructure-asfyaml#135 adds a bypass_users list to creation_cap that would let us keep exempting them, but it is still open.

Component(s)

Continuous Integration

Activity

  1. thisisnic commented on Oct 23, 2026

    @thisisnic
    Member

    Thanks for opening this, I think this is a good idea as long as we can bypass relevant people as a few folks who have legitimate reasons for having multiple PRs open have been hit by the limit recently.

  2. krassowski commented on Oct 29, 2026

    @krassowski

    Hi folks! In case if it helps, yesterday (https://github.blog/changelog/2026-10-28-pull-request-limits-exempt-contributors-by-age-or-history/) GitHub improved their own PR limit implementation and added a number of exemption criteria (e.g. by account age, or by number of merged PRs):

    Image

    Also, this issue is related to #54696

  3. raulcd commented on Nov 4, 2026

    @raulcd
    Member

    We should do this to remove the current pull_request_target event on the workflow, see:

  4. rok commented on Nov 4, 2026

    @rok
    MemberAuthor

    Merged pull requests: Exempt contributors who have had at least the number of pull requests you set merged in that repository.

    This is great! We'd no longer need to use collaborators workaround. I'll include it here. Thanks @krassowski

    We should do this to remove the current pull_request_target event on the workflow, see:

    Didn't look into this yet. Is it something we can do with this PR?

  5. raulcd commented on Nov 4, 2026

    @raulcd
    Member

    Didn't look into this yet. Is it something we can do with this PR?

    Yes, if we rely on the .asf.yaml configuration the whole workflow will be removed so no more pull_request_target event needed.

  6. added a commit that references this issue on Nov 4, 2026
  7. Reranko05 commented on Nov 4, 2026

    @Reranko05
    Collaborator

    @rok Since apache/infrastructure-asfyaml#135 has also been merged, we can use the bypass_users functionality as well to exempt collaborators from the PR limit.

  8. rok commented on Nov 4, 2026

    @rok
    MemberAuthor

    @Reranko05 Added to #55164, please review :).

  9. rok commented on Nov 4, 2026

    @rok
    MemberAuthor
  10. added a commit that references this issue on Nov 5, 2026
  11. added this to the 27.0.0 milestone on Nov 5, 2026
  12. raulcd commented on Nov 5, 2026

    @raulcd
    Member

    Issue resolved by pull request 55164
    #55164

  13. raulcd commented on Nov 5, 2026

    @raulcd
    Member

    The deploy seems to have failed. I've received the following email:

    An error occurred while processing the github feature in .asf.yaml:
    
    while parsing a mapping
      in "arrow.git/.asf.yaml::github", line 35, column 1:
            # https://arrow.apache.org/d ...
        ^ (line: 35)
    unexpected key not in schema 'bypass_users'
      in "arrow.git/.asf.yaml::github", line 43, column 1:
            - EnricoMi
        ^ (line: 43)
    
    ---
    With regards, ASF Infra.
    For further information, please see the .asf.yaml documentation at:
    https://github.com/apache/infrastructure-asfyaml/blob/main/README.md
    

    I've opened an issue to INFRA as it seems the bypass_users isn't yet deployed into production.
    https://issues.apache.org/jira/browse/INFRA-28628

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions