[Backport release-25.05] workflows/labels: manage stale & merge conflict labels#419565
Closed
nixpkgs-ci[bot] wants to merge 8 commits intorelease-25.05from
Closed
[Backport release-25.05] workflows/labels: manage stale & merge conflict labels#419565nixpkgs-ci[bot] wants to merge 8 commits intorelease-25.05from
nixpkgs-ci[bot] wants to merge 8 commits intorelease-25.05from
Conversation
Separate commit for better diff. (cherry picked from commit 042a2fd)
(cherry picked from commit f394b27)
…ntext We previously ran another list request in this case, but don't need to anymore - we already have the `pull_request` context available. (cherry picked from commit 8b51015)
This doesn't provide much value in itself, yet, but is much more flexible in the next step, when also looking at much older PRs. (cherry picked from commit d9d97fd)
This replaces the manual dispatch trigger with a batched run through all pull requests every day. This has the small benefit of not having to worry about backfilling labeling after fixing bugs - and the much bigger one in being able to handle merge-conflict and stale labels properly later. For those, it's inevitable to eventually scan through all PRs. At this stage, the vast majority of PRs will still be skipped, because there won't be an eval run with artifact available. This will be improved in the next step. Technically, the workflow_dispatch trigger is kept to allow easily testing this in forks, where the scheduled jobs are disabled. The triggered job will behave similar to the scheduled job, though, and have no special inputs. (cherry picked from commit e55128a)
We keep working through the PR, even though we don't have any eval results. This will allow actually managing labels for much older PRs as well. Most importantly, it will allow merge-conflict and stale-labeling next. (cherry picked from commit 63b9355)
This manages the `2. status: stale` label for pull requests only (not issues, yet) with the following conditions: - The last event on the timeline of the Pull Request counts. - Labeling and unlabeling of any kind are ignored. - Older than 180 days are stale. - Security labeled PRs are never stale. To handle this label correctly, it's important to go through all pull requests. Any approach to limit the list of PRs via search are not going to work: - Filtering by `updated` is not going to work, because it includes the last time that *a label was set* on the PR. To actually find out whether a PR is stale or not, the timeline of events needs to be looked at. - Filtering by an existing stale label is not going to work either, because such a label might have been added manually and thus breaking the rules we set up here. Thus any existing label needs to be confirmed as well. (cherry picked from commit 58dd963)
The code comments describe much better what we do then a commit message could ever do. (cherry picked from commit 36e9fe9)
4 tasks
Contributor
|
Revert for now in #419574. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bot-based backport to
release-25.05, triggered by a label in #419481.