This enhancement was split out from SKARA-1199 to reduce complexity of each change and make reviewing easier.
InSKARA-1199, we are adding the optional ability for a PR to block integration until a certain approval label appears on all the associated bugs. To further improve the workflow, we would like to add a couple of PR commands that will make it possible to perform the whole maintainer approval workflow through the PR. The source of truth and tracking is still happening in the bug. This behavior is what I interpreted as something as close to an agreement that I think is possible in the discussion here: https://mail.openjdk.org/pipermail/jdk-updates-dev/2022-August/016451.html
/approval [request|cancel] [<text>]
This is a multiline command issued by the PR author. When requesting approval, the text is posted by the Skara user as a comment on the bug and the appropriate label is added. On repeated invocations, the text in the same comment is replaced. Running it with "cancel" removes both the comment and the label. ("cancel" is needed as a normal user cannot delete comments made by the Skara user.)
/approve [yes|no]
This command is issued by a repository maintainer. It will add/replace the appropriate label on all associated bugs. I think we can use the existing "integrator" role for maintainers for now.
In addition to adding the commands, the bot help text should be updated to reference the ability to use commands for this.
To help maintainers find relevant PRs to evaluate, we should also add a new label "approval" that gets added when the request label is present on any of the associated bugs and removed when it's no longer present in any of the bugs.
In
/approval [request|cancel] [<text>]
This is a multiline command issued by the PR author. When requesting approval, the text is posted by the Skara user as a comment on the bug and the appropriate label is added. On repeated invocations, the text in the same comment is replaced. Running it with "cancel" removes both the comment and the label. ("cancel" is needed as a normal user cannot delete comments made by the Skara user.)
/approve [yes|no]
This command is issued by a repository maintainer. It will add/replace the appropriate label on all associated bugs. I think we can use the existing "integrator" role for maintainers for now.
In addition to adding the commands, the bot help text should be updated to reference the ability to use commands for this.
To help maintainers find relevant PRs to evaluate, we should also add a new label "approval" that gets added when the request label is present on any of the associated bugs and removed when it's no longer present in any of the bugs.
- is blocked by
-
SKARA-1199 Enforce maintainer approval in JBS before allowing to integrate backports into updates projects
- Resolved
- relates to
-
SKARA-2041 Add configuration for maintainer approval to jdk11u-dev
- Resolved
-
SKARA-2074 Add configuration for maintainer approval to jdk11u
- Resolved
-
SKARA-2075 Add configuration for maintainer approval to jdk17u
- Resolved
-
SKARA-2042 Allow bulk requests with /approval request command
- Resolved
(2 links to)