Nicely done guys. I've just noticed the changes. :)

Does it work out well so far? I can only see failing builds here: (at
least 1 test of the matrix always fails)

https://github.com/apache/zookeeper/actions

I'm not saying that our ASF Jenkins build is rock solid, but at least
it's having green runs every now and then.

https://ci-hadoop.apache.org/view/ZooKeeper/job/zookeeper-multi-branch-build/

Andor



On Sun, 2020-11-01 at 00:31 -0400, Christopher wrote:
> Hi Enrico, et al,
> 
> I think the situation is a little more complicated than simply
> selecting between "option 1" and "option 2". So, please allow me to
> provide some additional clarification about what my PR does and does
> not do (responses inline, see below).
> 
> On Sat, Oct 31, 2020 at 12:00 PM Enrico Olivelli
> <eolive...@gmail.com> wrote:
> > 
> > Hello,
> > Christopher send a patch that enabled PR validation in GitHub
> > Actions [1]
> > 
> > I would like to start a discussion and explain what's going on.
> > I was talking with Andor about the lack of the "magic words" on
> > Pull
> > Request Validation that restart the build on the new Jenkins.
> > 
> > I cited that in Apache BookKeeper and in Apache Pulsar we have a
> > "github
> > bot" that interacts with the comments in the Pull Requests and it
> > is able
> > to rerun the failure builds.
> > This kind of "bots" is becoming pretty common on github.
> > 
> > Christopher followed up our discussion and created that patch.
> 
> To be clear, the GitHub Actions doesn't enable any "magic words" to
> restart, but it does provide greater control over re-build from the
> GitHub UI. It's at most a few clicks away.
> 
> > You can't see GH Action working on ZK repo, because we should
> > enable them
> > with the help of Infra.
> 
> To clarify here as well, INFRA isn't involved in enabling GH Actions.
> It's simply a matter of adding the workflow to the repository (which
> my PR does). It is automatically enabled once the workflow is merged
> in.
> 
> > 
> > From my point of view using GitHub Actions will be interesting and
> > useful
> > if and only if we add the 'bot' that reruns the failures.
> 
> I think there's other value to consider, also... like replacing
> Travis
> CI (which asks for too many permissions IMO), and having much greater
> control over builds, including having access to surefire reports from
> failed tests, using custom containers, and having access to thousands
> of user-generated recipes to perform custom steps in the build. There
> are multiple benefits.
> 
> > 
> > This is not possible on the new ASF Jenkins, so only committers (I
> > am not
> > sure that you also need some special additional karma) can trigger
> > a new
> > build by logging into Jenkins.
> 
> Unfortunately, that's still true of GH Actions... only committers
> would be able to trigger a rebuild in the GitHub UI for the build
> that
> was automatically triggered when the PR was created (or updated).
> Non-committers can only retrigger by updating the PR, just like they
> do now with Jenkins. However, the one advantage that non-committers
> do
> get is that they can execute the same GH Actions builds in their own
> repo, without needing an account on Jenkins or Travis, during their
> development process, before they even issue a PR. So, they will be
> able to see if their branch is likely to get a green build before
> they
> even open a PR (if they take advantage of that option).
> 
> > 
> > The work of Christopher is not only about enabling GitHub Actions
> > but it is
> > also about cleaning up the validation process and running only part
> > of the
> > tests, this can be discussed on a separate thread (I would like to
> > run all
> > of the tests for instance, not only a selection). So please comment
> > on the
> > PR about the changes.
> 
> Running only part of the tests was not my goal. I just did that as an
> example to show what was possible. I can change it to try to run the
> full build. However, I know that currently doesn't work (too many
> tests fail in the GH Actions runner, just like too many failed in
> Travis, which is why they were disabled there). Either way, follow-on
> work will need to be done to tweak the tests so they can build
> reliably in this environment and eventually replace the Jenkins
> precommit validation. This PR is not yet ready to replace the need
> for
> the Jenkins precommit. It only lays the groundwork for getting there
> eventually.
> 
> What the PR does now is:
> 1. Replace Travis and run *some* tests (Travis ran none)
> 2. Demonstrates how to run multiple tasks in a matrix build
> 3. Lays the groundwork for incremental test improvements so the
> Jenkins precommit job can also be replaced by GH Actions validations,
> so all validations are (eventually) managed in one place.
> 
> The PR can still be changed to do whatever you want. I've merely
> layed
> down the groundwork that can be built upon. If you want it to try to
> run all the tests, I can do that. If you merely want it to replace
> Travis and build no tests (yet), I can do that. If you want me to add
> jdk8 to the matrix build instead of just jdk11, I can do that. If you
> want to have a build with jdk11, but run the full ITs with jdk8, I
> can
> do that. If you want to try to run the full ITs with both jdk8 and
> jdk11, I can do that. Just let me know what you want and I will
> update
> the PR accordingly.
> 
> In essence, there are *far* more options available to the project
> than
> the "option 1" and "option 2" described below. It is the enormous
> possibility space that GH Actions opens up, that I think is the real
> advantage to the project, far more than any other advantages.
> 
> > 
> > Here the discussion is more about
> > "Use GH actions and rerun the tests" (option 1)
> > vs
> >  "Use ASFK jenkins for everything + Travis for PRs on additional
> > architectures" (option 2, that is to keep the current situation)
> > 
> 
> My PR does keep the Travis build for s390x builds (without tests),
> because getting that arch building in GH Actions is tricky, so I
> didn't try it on my first attempt. It may be possible to get that to
> build also.
> 
> > Regards
> > Enrico
> > [1] https://github.com/apache/zookeeper/pull/1508
> 
> I hope that clarifies a little bit of what I was trying to accomplish
> in my PR, since my intentions may not be identical to what others
> were
> hoping it would achieve. Feel free to ask me additional questions, or
> to direct me to make changes to my PR in any way. I realize that this
> is something that may not get merged right away (or ever)...
> especially if it doesn't achieve what you were hoping it would
> achieve. But, I still think there's advantages to using GH Actions
> that are worth considering.
> 
> Thanks,
> Christopher


Reply via email to