Use 'pull_request_target' in the automatic milestoning action

The original event used, 'pull_request', runs in the context of the
pull request. In the case of pull requests created from forks this means
that a read-only GitHub token is used for API calls, and thus the
call used to assign the milestone fails.

The fix is using the 'pull_request_target' event, which runs in the
context of the base branch, and thus with a read-write token. See:
https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target

Also, added a warning message when no milestone without a release
branch is found and thus the newest existing milestone is assigned
(this is a fallback that should normally not happen).
This commit is contained in:
Nestor Soriano 2021-07-29 16:47:27 +02:00
parent 409c996834
commit 9ffddbac1f
No known key found for this signature in database
GPG Key ID: 08110F3518C12CAD
2 changed files with 3 additions and 2 deletions

View File

@ -1,6 +1,6 @@
name: "Pull request post-merge processing"
on:
pull_request:
on:
pull_request_target:
types: [closed]
jobs:

View File

@ -85,6 +85,7 @@ foreach ( $milestones as $milestone ) {
// If all the milestones have a release branch, just take the newest one.
if ( is_null( $chosen_milestone ) ) {
echo "WARNING: No milestone without release branch found, the newest one will be assigned.\n";
$chosen_milestone = $milestones[0];
}