codeconsole opened a new pull request, #16213:
URL: https://github.com/apache/grails-core/pull/16213
Every pull request against a release branch computes the same
release-drafter concurrency group, because the group is keyed on the branch it
targets:
```yaml
group: release-drafter-${{ github.event.pull_request.base.ref ||
github.ref_name }}
cancel-in-progress: true
```
Two pull requests pushed within seconds of each other therefore share one
slot, and the later one cancels the earlier:
```
05:30:24 feat/hiddenmethod-handler-mapping cancelled (#16183)
05:30:36 perf/urlmapping-name-resolution-8.0.x success
```
The evicted pull request shows a cancelled check with nothing wrong with it,
and never receives the labels the run exists to apply. Anything that raises
several pull requests at once — rebasing a stack, merging a branch into each of
them — makes it routine.
Queueing instead of cancelling would not fix it: GitHub keeps one pending
run per group and cancels the one pending before it, so a sweep of ten pull
requests would still show eight cancellations, of queued runs rather than
running ones.
## The group is the pull request
```yaml
group: release-drafter-${{ github.event.pull_request.number ||
github.ref_name }}
```
Pull requests no longer meet. `cancel-in-progress` still does the right
thing within one subject: pushing twice to the same pull request supersedes its
own earlier run, and pushes to a release branch still share a group by branch
name.
## A pull request run labels; it does not draft
```yaml
disable-releaser: ${{ github.event_name == 'pull_request' }}
```
They shared a slot for a reason — two runs creating the same draft at once
is how the duplicate drafts described in that file's header appear — so this
removes the reason rather than working around it.
Release notes are built from **merged** pull requests. An open one
contributes nothing to the draft, so the releaser was rewriting the draft it
had already written. Checked against the live `v8.0.0` draft: it lists merged
pull requests only, which also corrects the claim in the workflow comment that
the draft "picks up new PRs as soon as they are opened".
Labels still apply on every pull request event. The draft is written by
pushes to the release branch, which is when a merge can actually change it.
`./gradlew validateActions` passes.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]