I have pushed a fix in PR https://github.com/apache/pulsar/pull/17723 , please 
review.

-Lari

On 2022/09/19 15:26:14 Lari Hotari wrote:
> Unfortunately a PR approval isn't currently detected by the solution
> Until this is fixed, the reviewer will have to add a "ready-to-test" label 
> before adding a comment "/pulsarbot rerun-failure-checks" to the PR so that 
> the PR can be eventually merged.
> I'm sorry about this inconvenience.
> 
> -Lari
> 
> On 2022/09/19 06:17:35 Lari Hotari wrote:
> > I'll now merge the changes to master. The contributor docs will be updated 
> > in a separate pull request. Current in progress pull requests will get the 
> > changes when they are updated.
> > 
> > -Lari
> > 
> > On 2022/09/16 12:43:44 Lari Hotari wrote:
> > > On 2022/09/16 10:09:51 PengHui Li wrote:
> > > > After I go through all the comments here.
> > > > Do we really need a new label?
> > > 
> > > Good suggestion. It was also suggested yesterday by Matteo that a PR 
> > > approval should be sufficient. I have modified the solution in 
> > > https://github.com/apache/pulsar/pull/17693 so that either a PR approval 
> > > or the "ready-to-test" label is required for running tests in 
> > > apache/pulsar.
> > > 
> > > I have retained the ready-to-test label solution since there might be 
> > > cases where the reviewer might want to choose to run the tests in 
> > > apache/pulsar repository before approving the PR. This is to ensure that 
> > > we don't change the meaning of the PR approval to trigger tests to run.
> > > 
> > > In the first phase, I won't be adding "/pulsarbot ready-to-test" at all. 
> > > Instead, we'd use use PR approval + "/pulsarbot rerun-failure-checks" to 
> > > trigger the build pipeline after an approval. The label can be added 
> > > manually in GitHub UI if that approach is used.
> > > 
> > > I hope we are ready to merge https://github.com/apache/pulsar/pull/17693 
> > > on Monday. I'm confident that everyone will be much happier with the 
> > > revised CI where it's possible to get almost instant CI feedback without 
> > > hours of delays that slows down PR processing and merging.
> > > 
> > > -Lari
> > > 
> > > On 2022/09/16 10:09:51 PengHui Li wrote:
> > > > Thanks, Lari
> > > > 
> > > > After I go through all the comments here.
> > > > Do we really need a new label?
> > > > 
> > > > It looks like if a committer thinks we should trigger the CI in the 
> > > > Pulsar
> > > > repo
> > > > 
> > > > - Passed in the fork repo
> > > > - No request change for this PR.
> > > > - ...
> > > > 
> > > > Just run the "/pulsarbot ready-to-test" or "/pulsarbot trigger-ci".
> > > > I think it makes sense that have a committer take a look at the PR first
> > > > and then trigger the CI, approval is not required.
> > > > 
> > > > During the PR review, the author could also push many commits to address
> > > > the comment.
> > > > After the comments have been addressed, we can trigger the CI again.
> > > > 
> > > > Maybe I missed something about the label approach.
> > > > 
> > > > Thanks,
> > > > Penghui
> > > > 
> > > > 
> > > > On Fri, Sep 16, 2022 at 5:45 PM Lari Hotari <lhot...@apache.org> wrote:
> > > > 
> > > > > I have created a draft PR for making the changes in Pulsar CI:
> > > > > https://github.com/apache/pulsar/pull/17693
> > > > >
> > > > > I'm looking forward to further practical improvements. I'd like to 
> > > > > remind
> > > > > everyone that we must make this change to address the CI slowness. 
> > > > > After
> > > > > this change, the experience of Pulsar CI will improve for everyone.
> > > > >
> > > > > In addition to the above PR, the contributor guide and Pulsarbot 
> > > > > changes
> > > > > will be needed. I expect that we would be able to complete the changes
> > > > > during next week.
> > > > >
> > > > > -Lari
> > > > >
> > > > > On 2022/09/15 08:36:01 Lari Hotari wrote:
> > > > > > Hi all,
> > > > > >
> > > > > > The GitHub Actions based Pulsar CI has been experiencing issues for
> > > > > > multiple weeks. The condition is currently better, but the resource
> > > > > > shortage issue remains. CI builds will take a long time to complete 
> > > > > > even
> > > > > > after many optimizations have been made.
> > > > > >
> > > > > > There's a long email thread with some details about the past issues:
> > > > > > https://lists.apache.org/thread/p7rb04vf1mt0kk3v2r7xl9dvb3zkhtxf
> > > > > >
> > > > > > I have filed an issue to GitHub support about the CI issues over a 
> > > > > > week
> > > > > > ago, and I finally received an answer a few hours ago. However the
> > > > > > GitHub support person didn't reply to my questions at all, but 
> > > > > > instead
> > > > > > suggested that there's a beta program where it's possible to pay for
> > > > > > more resources. That solution isn't suitable for our case, since it
> > > > > > doesn't seem to be possible to assign GitHub Actions Runner VM 
> > > > > > resources
> > > > > > only for a specific Apache project. I'll follow up with GitHub 
> > > > > > support,
> > > > > but
> > > > > > I don't expect that to resolve our problems in the near term. We 
> > > > > > need
> > > > > > to make changes in our CI resource consumption.
> > > > > >
> > > > > > In a the-asf Slack thread [1] about Pulsar CI issues, Martin 
> > > > > > Grigorov
> > > > > > suggested: "Apache Spark project requires that all PRs are executed 
> > > > > > in
> > > > > > the contributor's GHA quota. Maybe Pulsar can do the same ?!"
> > > > > >
> > > > > > The Apache Spark contributing guide contains details about this in 
> > > > > > the
> > > > > > "Pull request" section, https://spark.apache.org/contributing.html .
> > > > > >
> > > > > > "Before creating a pull request in Apache Spark, it is important to
> > > > > > check if tests can pass on your branch because our GitHub Actions
> > > > > > workflows automatically run tests for your pull request/following
> > > > > > commits and every run burdens the limited resources of GitHub 
> > > > > > Actions in
> > > > > > Apache Spark repository. "
> > > > > >
> > > > > > In Pulsar, we will need to do the same. As a solution to this, Tison
> > > > > > suggested that we would not run all tests for the PR unless there's 
> > > > > > a
> > > > > > "ready-to-test" label on the PR.
> > > > > >
> > > > > > I think this is a good suggestion. We could extend the existing
> > > > > > "pulsarbot" to help with the automation.
> > > > > >
> > > > > > A reviewer could comment "/pulsarbot ready-to-test" on the PR and
> > > > > > pulsarbot would add the label and also restart the CI workflow to 
> > > > > > make
> > > > > > it proceed and run the tests.
> > > > > > pulsarbot would check for authorized users. One simple
> > > > > > approach would be to add a file ".pulsarci.yaml" in apache/pulsar
> > > > > > repository with the relevant information:
> > > > > >
> > > > > > committer_github_ids:
> > > > > >   - committer1
> > > > > >   - committer2
> > > > > >   ...
> > > > > >
> > > > > > ready_to_test:
> > > > > >   authorized_github_ids:
> > > > > >     - userid1
> > > > > >     - userid2
> > > > > >     ...
> > > > > >
> > > > > > We would have a script to synchronize all Pulsar committers to this 
> > > > > > file
> > > > > > peridiotically (manual step after there's a new committer). ASF 
> > > > > > provides
> > > > > > public json files for project members at
> > > > > > https://whimsy.apache.org/public/public_ldap_projects.json , 
> > > > > > however the
> > > > > > mapping to github user names seems to be missing. That could be done
> > > > > > with a custom script since ASF LDAP contains the github username.
> > > > > >
> > > > > > All Pulsar committers would have access. In addition, there could be
> > > > > other
> > > > > > users that are authorized for using "/pulsarbot ready-to-test".
> > > > > >
> > > > > > This solution would also require changes in the GitHub Actions 
> > > > > > workflows
> > > > > > so that the workflow is failed in an early step unless there's a
> > > > > > ready-to-test label for the PR.
> > > > > >
> > > > > > With the above solution, we would be able to cut the amount of
> > > > > > unnecessary builds and get the excessive resource consumption issue
> > > > > > under control. The PR authors would be instructed to run initial PR
> > > > > > builds in their own fork and the reviewer should check that this is 
> > > > > > done
> > > > > > before approving the PR for testing with "/pulsarbot ready-to-test".
> > > > > >
> > > > > > I would suggest proceeding quickly on this matter without separate 
> > > > > > PIPs
> > > > > > or votes. We could follow the Apache lazy consensus
> > > > > > (https://community.apache.org/committers/lazyConsensus.html) 
> > > > > > principle
> > > > > > and make this happen if there aren't objections in the next 72 
> > > > > > hours.
> > > > > > The improvement suggestions to this proposal would obviously be 
> > > > > > taken
> > > > > > into account and if someone objects, we wouldn't have reached lazy
> > > > > > consensus and we wouldn't proceed.
> > > > > >
> > > > > > -Lari
> > > > > >
> > > > > >
> > > > > > 1 -
> > > > > https://the-asf.slack.com/archives/CBX4TSBQ8/p1661849820238809?thread_ts=1661512133.913279&cid=CBX4TSBQ8
> > > > > >
> > > > >
> > > > 
> > > 
> > 
> 

Reply via email to