I used to love gradle and Jenkins and started to hate it. Once you move to
python/javascript world, suddenly stuff that take you days in Java/Gradle
take hours in Python/Javascript. And it is amplified in case of CI where
you do not need to have an enterprise-grade system but a bunch of scripts
to work together. I have years of experience in C/C++/Java/Gradle
(including building custom Gradle plugins for mobile app development which
we open-sourced:
https://mvnrepository.com/artifact/com.apphance.ameba/Ameba/0.99.4  more
than 5 years ago).

And my point is - Jenkins sucks even if I used to love it (literally I was
cheering when Hudson became Jenkins following Koshuke Kawaguchi lad after
Oracle bought Sun. That was YEARS ago. And pipelines are ok but they are
afterthought.

Github Actions, GitLab,  TravisCI. even Cloud Build are soooo much easier
to work with and get your stuff done. Especially,GA integration with Github
Repos is great. Rewriting all the logic we implemented in our actions (
https://github.com/apache/airflow/blob/master/CI.rst) where we use not only
the "tasks" but also:
* the image registry
* updating Github issues
* adding labels
* PR status integration
* pushing changes to dedicated branches in our repo
* cancelling duplicated workflows (of 3 kinds)
* selective builds based on what files changed, etc.

And it is also nicely integrated with 'PR from forks' workflow.

It would take a major engineering effort to rewrite to Jenkins (if at all
possible).

And even if we do so - we have no certainty whatsoever that the number of
our builds will be ok with the capacity.
I was involved in Apache Beam CI infra project where Beam has like 16
dedicated workers just for them.

Even if we discount the months of engineering effort needed, I have no idea
if shared jenkins is enough for us. we run ~50 jobs, some of them 25
minute  or more - for each full build (thanks to selective checks we have a
lot of builds with shorter/smaller number of  jobs). It would take a LOT of
time to switch.

J.


On Fri, Jan 8, 2021 at 10:30 PM Antoine Pitrou <anto...@python.org> wrote:

>
> Le 08/01/2021 à 22:29, P. Ottlinger a écrit :
> > Hi Antoine,
> >
> > Am 08.01.21 um 22:17 schrieb Antoine Pitrou:
> >>> What are the gaps in the ASF CI systems that are pushing people onto
> >> less viable platforms such as GA?
> >>
> >> While being a PMC and core developer for Apache Arrow, I'm going to
> >> give a personal opinion here:
> >>
> >> - Jenkins I think many people have had bad experiences in the past with
> >>   (I remember trying to use Jenkins and the obnoxious Web-based
> >>   configuration threw me off)
> >
> > I do not want to start a toolWar-thread, but Jenkins provides means to
> > have your config versioned easily:
> >
> > just change to declarative Jenkinsfiles that are checked in with your
> > projects.
> >
> > A very simple example of this can be found here:
> > https://github.com/apache/creadur-rat/blob/master/Jenkinsfile
> >
> > AFAIK it supports matrix builds as well (have a look at
> > https://github.com/apache/plc4x for a deeper integration).
> >
> > Just my 2ct.
>
> Thanks, I didn't know that existed.
>
> Regards
>
> Antoine.
>


-- 
+48 660 796 129

Reply via email to