z0al / dependent-issues

📦 A GitHub Action for marking issues as dependent on another
https://github.com/marketplace/actions/dependent-issues
MIT License
156 stars 11 forks source link

chore(context): add label as API query param #546

Closed johncardiologs closed 1 year ago

johncardiologs commented 1 year ago

Description

When the action is running outside of the context of an issue/PR (typically when we close an issue/PR), we are currently checking all open issues/PRs to see if any of them depend on the issue/PR that is being closed. This can lead to hitting the github API rate limit of 500 requests in one go (there are many repos that have 500+ combined issues/PRs out there).

For starters, we can check against all open PRs that have the depends label associated with them, as the user has defined this label in the action.yaml file's label field.

This is a simplistic fix but should make it less likely to hit the github API rate limit of 500 requests (hopefully the amount of open PRs + issues that have the depends label in the user's repo is less than 500).

A better fix would be that the issue/PR that is closed knows exactly what other issues/PRs depend on it, which I don't believe is currently implemented, but it took me a while to figure out the github API and that's all I have in me for today.

Motivation

Closes #403

johncardiologs commented 1 year ago

Hi @z0al , any updates on this? Happy to clarify further if there are any questions. This feature would be useful for a repo I work on that has >500 open issues/PRs, which hits the github API limit.

If you set this up on a local repo, when closing a dependent issue / PR, you'll notice in the CI logs that only issues that are open & that have the dependent label will be checked. Any other open issues/PRs that don't have the label will not be checked.

efb4f5ff-1298-471a-8973-3d47447115dc commented 1 year ago

@z0al

z0al commented 1 year ago

Sorry for the delay everyone. I don't this action anymore so I barely ever check this repo. For everyone's sake, I'm going to archive the repo.

Of course, anyone could always fork and maintain their own thing.

Best