<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 1, 2019 at 7:42 PM Andrew Trick <<a href="mailto:atrick@apple.com">atrick@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><br><div><br><blockquote type="cite"><div>On Oct 29, 2019, at 6:02 PM, Mehdi AMINI via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:</div><br><div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">This is also how the Swift project is operating, apparently with success. See this PR for example<span> </span><a href="https://github.com/apple/swift/pull/27773" target="_blank">https://github.com/apple/swift/pull/27773</a><span> </span>: the comment <span style="font-variant-ligatures:normal">"@swift-ci please smoke test and merge" triggers the CI and the PR is merged automatically as soon as the builds are passing.</span><a href="https://github.com/apple/swift/pull/27773" style="font-variant-ligatures:normal" target="_blank"></a></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-variant-ligatures:normal"><br></span></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">We had a round-table on this topic last week, Tom took notes that he'll share with the list.</div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">-- </div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">Mehdi</div></div></blockquote></div><br><div>I’ve had zero success with Swift’s automated PR test and merge. Not only does it always fail for me, but it never notifies me of the failure. The PR you refer to looks like an anomaly because it didn’t go through any review and rebase, nor was regular testing done, which should have been done for a functional change that may affect platforms differently. The only advice I’ve gotten for dealing with this is: wait until late at night, then continually refresh web page over the next two hours and manually restart it when it fails!</div></div></blockquote><div><br></div><div>Wow that's good feedback!</div><div>Doug told me last week at the dev meeting that "test and merge" was his favorite feature, interesting to hear another experience. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div>I beg you to ignore Swift’s PR approach, come up with something that works, then share that with the Swift project. The general concept is sound as long as it’s not implemented on top of Jenkins.</div></div></blockquote><div><br></div><div>Yeah I have been burnt by Jenkins in the past as well, I'm trying to avoid it as much as possible now.</div><div>I like the concept, it has to be *rock solid* to be usable of course: any false positive in the test or the infrastructure will be frustrating, any point of failure in the infrastructure should come with auto-retry mechanisms, etc.</div><div><br></div><div>Cheers,</div><div><br></div><div>-- </div><div>Mehdi</div><div><br></div></div></div>