<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(32, 31, 30); font-family: Calibri, sans-serif; font-size: 14.6667px; text-align: left; background-color: rgb(255, 255, 255); display: inline !important">Hi all,<br>
<br>
I am proposing two minor amendments to the Pull Request Validation process. <br>
<br>
1) Currently, for merging a Pull Request two volunteers are required to run the tests and approve. But this has to be done for three platforms. We are finding that this requirement for three platforms is slowing down the processing since a gatekeeper do not
 have access to all three platforms. I propose that we change the requirement to atleast two of Arm, X86, OpenPower.<br>
<br>
2) Currently, the process requires testing on LLVM 9.0. But we are currently setting up support for LLVM 10.0 and vendors using Flang are moving to 10.0/11.0. I propose that we change the requirement to LLVM 9.0 or later versions supported by Flang.<br>
<br>
The proposed changes will convert the following point,<br>
<br>
Even<span> </span></span><span data-markjs="true" class="mark2toj7x05b" data-ogac="" data-ogab="" data-ogsc="" data-ogsb="" style="margin: 0px; font-size: 14.6667px; font-family: Calibri, sans-serif; color: rgb(32, 31, 30); text-align: left; background-color: rgb(255, 255, 255)">for</span><span style="color: rgb(32, 31, 30); font-family: Calibri, sans-serif; font-size: 14.6667px; text-align: left; background-color: rgb(255, 255, 255); display: inline !important"><span> </span>the
 most trivial patch, at least two volunteers must apply the patch, run their internal tests, and give feedback on the patch. The patch should be run on at least Arm, x86 and OpenPOWER on LLVM 9.0.<br>
<br>
to</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(32, 31, 30); font-family: Calibri, sans-serif; font-size: 14.6667px; text-align: left; background-color: rgb(255, 255, 255); display: inline !important"><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(32, 31, 30); font-family: Calibri, sans-serif; font-size: 14.6667px; text-align: left; background-color: rgb(255, 255, 255); display: inline !important"><span style="margin: 0px; font-family: Calibri, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">Even<span style="margin: 0px"> </span></span><span data-markjs="true" class="mark2toj7x05b" data-ogac="" data-ogab="" data-ogsc="" data-ogsb="" style="margin: 0px; font-family: Calibri, sans-serif; background-color: rgb(255, 255, 255)">for</span><span style="margin: 0px; font-family: Calibri, sans-serif; background-color: rgb(255, 255, 255); display: inline !important"><span style="margin: 0px"> </span>the
 most trivial patch, at least two volunteers must apply the patch, run their internal tests, and give feedback on the patch. The patch should be run on at least
<b>two of</b> Arm, X86, OpenPower on LLVM <b>(9.0 or later versions supported by flang).</b></span></span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(32, 31, 30); font-family: Calibri, sans-serif; font-size: 14.6667px; text-align: left; background-color: rgb(255, 255, 255); display: inline !important"><br>
We will discuss these two points in the Classic Flang Technical call on Wednesday. Meeting link below. If you need a meeting invite then please let me know.<br>
<span style="color: rgb(0, 0, 0); font-family: Times; font-size: medium; text-align: start; display: inline !important"><a href="https://teams.microsoft.com/l/meetup-join/19%3ameeting_YjM5YjlmNGEtMjA0MS00MTRlLTg5ZjUtOTM1ZGIxOTU2NWQy%40thread.v2/0?context=%7b%22Tid%22%3a%22f34e5979-57d9-4aaa-ad4d-b122a662184d%22%2c%22Oid%22%3a%223641875c-ef5b-4767-8105-0787a195852f%22%7d" id="LPlnk608215">https://teams.microsoft.com/l/meetup-join/19%3ameeting_YjM5YjlmNGEtMjA0MS00MTRlLTg5ZjUtOTM1ZGIxOTU2NWQy%40thread.v2/0?context=%7b%22Tid%22%3a%22f34e5979-57d9-4aaa-ad4d-b122a662184d%22%2c%22Oid%22%3a%223641875c-ef5b-4767-8105-0787a195852f%22%7d</a></span><br>
<br>
</span><br>
Thanks,<br>
Kiran</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Gary Klimowicz <gklimowicz@nvidia.com><br>
<b>Sent:</b> 18 June 2020 01:47<br>
<b>To:</b> flang-dev on LLVM <flang-dev@lists.llvm.org><br>
<b>Cc:</b> Kiran Chandramohan <Kiran.Chandramohan@arm.com>; Richard Barton <Richard.Barton@arm.com>; Richard Bleikamp <Richard.Bleikamp@amd.com>; Shivarama Rao <Shivarama.Rao@amd.com>; Steve Scalpone <sscalpone@nvidia.com>; Jie Li (Professional Solutions Bus)
 <jiel@nvidia.com>; Varun Jayathirtha <vjayathirtha@nvidia.com><br>
<b>Subject:</b> [classic-flang] RFC for pull request validation process for Classic Flang</font>
<div> </div>
</div>
<style>
<!--
@font-face
        {font-family:Wingdings}
@font-face
        {font-family:"Cambria Math"}
@font-face
        {font-family:Calibri}
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif}
p.x_MsoListParagraph, li.x_MsoListParagraph, div.x_MsoListParagraph
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif}
span.x_EmailStyle20
        {font-family:"Calibri",sans-serif;
        color:windowtext}
.x_MsoChpDefault
        {font-size:10.0pt;
        font-family:"Calibri",sans-serif}
@page WordSection1
        {margin:1.0in 1.0in 1.0in 1.0in}
div.x_WordSection1
        {}
ol
        {margin-bottom:0in}
ul
        {margin-bottom:0in}
-->
</style>
<div lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="x_WordSection1">
<p class="x_MsoNormal">The goal of the Flang Community Pull Request Process is to ensure that only well-tested patches are incorporated into the github.com/flang-compiler/flang master branch. Most Fortran tests, benchmarks, and applications are proprietary,
 and therefore are not part of the flang public test suite, and these are the tests that need to be run in order to continue to maintain the quality of flang.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">To that end, a group of individuals and organizations have volunteered to test and discuss pull requests. The process allows just two assenting votes before a gatekeeper is allowed to merge a pull request into the master branch.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Current volunteers (reviewers) include:</p>
<ul type="disc" style="margin-top:0in">
<li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l2 level1 lfo1">Kiran Chandramohan, Rich Barton, Carol Concatto, Andrzej Warzynski (Arm)</li><li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l2 level1 lfo1">Gary Klimowicz, Jie Li, Varun Jayathirtha (NVIDIA)</li><li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l2 level1 lfo1">Shivaram Rao (AMD)</li></ul>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">If you would like to be a volunteer, please submit your request to flang-dev.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Current gatekeepers:</p>
<ul type="disc" style="margin-top:0in">
<li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l1 level1 lfo2">Gary Klimowicz and Steve Scalpone, NVIDIA</li><li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l1 level1 lfo2">Kiran Chandramohan and Rich Barton, Arm</li><li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l1 level1 lfo2">Shivaram Rao, AMD</li></ul>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Gatekeepers are chosen because of their involvement in flang development. If you would like to be a gatekeeper, please submit your request to flang-dev.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">The proposed process:</p>
<ol start="1" type="1" style="margin-top:0in">
<li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l0 level1 lfo3">Each pull request has an owner. The owner is typically the person who created the pull request; however, anyone may adopt a pull request. The owner is responsible for making sure
 the PR can be merged with master and tests cleanly (including new tests). The owner is also responsible for handling feedback during the review and testing process. The owner can signal that a patch is ready for review using flang-dev or the flang slack channel.</li></ol>
<p class="x_MsoListParagraph"> </p>
<ol start="2" type="1" style="margin-top:0in">
<li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l0 level1 lfo3">As part of the review process, the reviewers agree to apply the patch and run their internal test suites with it, and then give feedback on the patch. Note that feedback might be
 limited to simply pass or fail because of restrictions on the test suites.</li></ol>
<p class="x_MsoNormal"> </p>
<ol start="3" type="1" style="margin-top:0in">
<li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l0 level1 lfo3">Volunteer testers and reviewers offer feedback on the PR in the GitHub discussion on the pull request.</li></ol>
<p class="x_MsoNormal"> </p>
<ol start="4" type="1" style="margin-top:0in">
<li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l0 level1 lfo3">Even for the most trivial patch, at least two volunteers must apply the patch, run their internal tests, and give feedback on the patch. The patch should be run on at least Arm,
 x86 and OpenPOWER on LLVM 9.0.</li></ol>
<p class="x_MsoListParagraph"> </p>
<p class="x_MsoNormal"> </p>
<ol start="5" type="1" style="margin-top:0in">
<li class="x_MsoListParagraph" style="margin-left:0in; mso-list:l0 level1 lfo3">When two reviewers complete their testing and approve the patch, a gatekeeper can merge the patch. Note that a gatekeeper is not mandated to merge a patch at this point if the discussion
 and consensus process has not run its course.</li></ol>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Please respond to this thread if you have suggestions or questions.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Gary Klimowicz</p>
</div>
</div>
</body>
</html>