RFR: 1199: Enforce maintainer approval in JBS before allowing to integrate backports into updates projects [v5]

Erik Joelsson erikj at openjdk.org
Fri Aug 11 13:22:01 UTC 2023


On Thu, 10 Aug 2023 20:01:59 GMT, Zhao Song <zsong at openjdk.org> wrote:

>> As Erik said in the description of this issue, currently, this issue only cares about tracking approval labels in the related bugs.
>> 
>> If a repository is set up with the "approval" configuration, pull requests in that repository will require the maintainer's approval in JBS. Otherwise, the pull request will not be considered ready. 
>> 
>> Erik has also provided a design outlining how to configure the "approval" for a repository.
>> 
>> 
>> The simple case, where the labels are the same for every branch in a repository: 
>> 
>> "approval": { 
>>   "request": "jdk17u-fix-request", 
>>   "approved": "jdk17u-fix-yes", 
>>   "rejected": "jdk17u-fix-no", 
>> } 
>> 
>> To reduce the need for changing multiple strings when copying a configuration for a new repository, there is an optional "prefix" field: 
>> 
>> "approval": { 
>>   "prefix": "jdk17u-fix-", 
>>   "request": "request", 
>>   "approved": "yes", 
>>   "rejected": "no", 
>> } 
>> 
>> When there are multiple branches with different labels, having the prefix set per branch can help reduce the size of the configuration significantly: 
>> 
>> "approval": { 
>>   "request": "-critical-request", 
>>   "approved": "-critical-approved", 
>>   "rejected": "-critical-rejected", 
>>   "branches": [ 
>>     "jdk20\.0\.1": { "prefix": "CPU23_04" } 
>>   ] 
>> }
>
> Zhao Song has updated the pull request incrementally with three additional commits since the last revision:
> 
>  - fix test
>  - fix test
>  - update

bots/pr/src/main/java/org/openjdk/skara/bots/pr/CheckRun.java line 1517:

> 1515:         }
> 1516:         String message = "⚠️  @" + pr.author().username() +
> 1517:                 " This change has now been reviewed and requires maintainer [approval](" + approval.documentLink() + ")." +

I did some more thinking about how this should be formulated. I don't think we should mention the review state here either. 
Suggestion:

                " This change is now ready for maintainer [approval](" + approval.documentLink() + ")." +

bots/pr/src/test/java/org/openjdk/skara/bots/pr/ApprovalTests.java line 34:

> 32:     @Test
> 33:     void simple() {
> 34:         Approval approval = new Approval("", "jdk17u-fix-request", "jdk17u-fix-yes", "jdk17u-fix-no", "https://test.openjdk.org");

I recommend using something with `example.com` for test URL.

-------------

PR Review Comment: https://git.openjdk.org/skara/pull/1537#discussion_r1291329414
PR Review Comment: https://git.openjdk.org/skara/pull/1537#discussion_r1291331283


More information about the skara-dev mailing list