You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by Otávio Gonçalves de Santana <os...@tomitribe.com> on 2018/11/22 13:55:45 UTC

Continuous integration and a PR

Hello everyone, I have a question about PR and continuous integrations.
Why we don't have a plugin to run the tests when we open a PR?

I'm also helping in another Apache Project such as Apache TinkerPop
<https://github.com/apache/tinkerpop/pull/1000> and Apache Commons
<https://github.com/apache/commons-lang/pull/384> Lang and both have this.


I also did a small search about, and I find more projects such as Zeppelin,
Commons-IO, Commons Collection those use the Travis plugin
<https://travis-ci.org>.

Re: Continuous integration and a PR

Posted by César Hernández Mendoza <ce...@gmail.com>.
Hi Jonathan,

do you want to have a go at setting that
> up and seeing how it goes?


Does your question is for me?
If yes, I will definitely love to move forward the integration with
apache Jenkis CI and PR builder. But by reading the Apache Jenkins
documentation, I first need an account that is granted by PMC [1].

[1]
https://cwiki.apache.org/confluence/display/INFRA/Jenkins#Jenkins-HowdoIgetanaccount

El lun., 3 dic. 2018 a las 5:37, Jonathan Gallimore (<
jonathan.gallimore@gmail.com>) escribió:

> Hey folks
>
> We don't have a PR builder for buildbot, and I'm not sure if its an option
> or not.
>
> It looks like the ASF can offer a Jenkins CI with a PR builder:
> https://cwiki.apache.org/confluence/display/INFRA/Jenkins, which we could
> potentially be used, or we could explore Travis CI or something else.
> Travis was suggested by Otavio - do you want to have a go at setting that
> up and seeing how it goes?
>
>
> Jon
>
> On Mon, Dec 3, 2018 at 9:45 AM Daniel Cunha <da...@apache.org> wrote:
>
> > Hey,
> >
> > I believe for TomEE we don't have PR integrated with CI. BTW, I also
> prefer
> > to have a jenkins instead of build-bot, for sure I think Jenkins better
> > than build-bot.
> >
> > Em seg, 3 de dez de 2018 às 06:37, Otávio Gonçalves de Santana <
> > osantana@tomitribe.com> escreveu:
> >
> > > Hey Cesar, I have the same issue. Unfortunately no luck yet.
> > >
> > > On Fri, Nov 30, 2018 at 9:12 PM César Hernández Mendoza <
> > > cesarguate@gmail.com> wrote:
> > >
> > > > Hi guys,
> > > > I need help understanding how I can see past builds results from
> > > > https://ci.apache.org/builders/tomee-trunk-ubuntu-jvm8
> > > > I couldn't find a way to search for the CI result of one or my PR's I
> > > > created early this week.
> > > >
> > > > I would also be interesting to see if we can use Jenkins instead
> > > > https://builds.apache.org/
> > > > I searched the work Jenkin in
> https://openejb.markmail.org/search/?q=
> > > but
> > > > it seems that topic hasn't been often mentioned.
> > > >
> > > > El jue., 22 nov. 2018 a las 8:19, Romain Manni-Bucau (<
> > > > rmannibucau@gmail.com>)
> > > > escribió:
> > > >
> > > > > Hi Otavio,
> > > > >
> > > > > Just needs to be asked to infra but the reactivity will be ~3h
> > instead
> > > > of a
> > > > > few minutes like for small projects so not sure it would help much.
> > > > > Investing in a build.sh can help more (./build.sh --core,
> ./build.sh
> > > > > --tomee, ./build.sh --tomee --validate etc) - it is an old idea
> > nobody
> > > > > tackled by lack of need at that time
> > > > >
> > > > > Romain Manni-Bucau
> > > > > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > > > > <https://rmannibucau.metawerx.net/> | Old Blog
> > > > > <http://rmannibucau.wordpress.com> | Github <
> > > > > https://github.com/rmannibucau> |
> > > > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > > > > <
> > > > >
> > > >
> > >
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > > > > >
> > > > >
> > > > >
> > > > > Le jeu. 22 nov. 2018 à 14:56, Otávio Gonçalves de Santana <
> > > > > osantana@tomitribe.com> a écrit :
> > > > >
> > > > > > Hello everyone, I have a question about PR and continuous
> > > integrations.
> > > > > > Why we don't have a plugin to run the tests when we open a PR?
> > > > > >
> > > > > > I'm also helping in another Apache Project such as Apache
> TinkerPop
> > > > > > <https://github.com/apache/tinkerpop/pull/1000> and Apache
> Commons
> > > > > > <https://github.com/apache/commons-lang/pull/384> Lang and both
> > have
> > > > > this.
> > > > > >
> > > > > >
> > > > > > I also did a small search about, and I find more projects such as
> > > > > Zeppelin,
> > > > > > Commons-IO, Commons Collection those use the Travis plugin
> > > > > > <https://travis-ci.org>.
> > > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Atentamente:
> > > > César Hernández Mendoza.
> > > >
> > >
> >
> >
> > --
> > Daniel "soro" Cunha
> > https://twitter.com/dvlc_
> >
>


-- 
Atentamente:
César Hernández Mendoza.

Re: Continuous integration and a PR

Posted by Jonathan Gallimore <jo...@gmail.com>.
Hey folks

We don't have a PR builder for buildbot, and I'm not sure if its an option
or not.

It looks like the ASF can offer a Jenkins CI with a PR builder:
https://cwiki.apache.org/confluence/display/INFRA/Jenkins, which we could
potentially be used, or we could explore Travis CI or something else.
Travis was suggested by Otavio - do you want to have a go at setting that
up and seeing how it goes?


Jon

On Mon, Dec 3, 2018 at 9:45 AM Daniel Cunha <da...@apache.org> wrote:

> Hey,
>
> I believe for TomEE we don't have PR integrated with CI. BTW, I also prefer
> to have a jenkins instead of build-bot, for sure I think Jenkins better
> than build-bot.
>
> Em seg, 3 de dez de 2018 às 06:37, Otávio Gonçalves de Santana <
> osantana@tomitribe.com> escreveu:
>
> > Hey Cesar, I have the same issue. Unfortunately no luck yet.
> >
> > On Fri, Nov 30, 2018 at 9:12 PM César Hernández Mendoza <
> > cesarguate@gmail.com> wrote:
> >
> > > Hi guys,
> > > I need help understanding how I can see past builds results from
> > > https://ci.apache.org/builders/tomee-trunk-ubuntu-jvm8
> > > I couldn't find a way to search for the CI result of one or my PR's I
> > > created early this week.
> > >
> > > I would also be interesting to see if we can use Jenkins instead
> > > https://builds.apache.org/
> > > I searched the work Jenkin in https://openejb.markmail.org/search/?q=
> > but
> > > it seems that topic hasn't been often mentioned.
> > >
> > > El jue., 22 nov. 2018 a las 8:19, Romain Manni-Bucau (<
> > > rmannibucau@gmail.com>)
> > > escribió:
> > >
> > > > Hi Otavio,
> > > >
> > > > Just needs to be asked to infra but the reactivity will be ~3h
> instead
> > > of a
> > > > few minutes like for small projects so not sure it would help much.
> > > > Investing in a build.sh can help more (./build.sh --core, ./build.sh
> > > > --tomee, ./build.sh --tomee --validate etc) - it is an old idea
> nobody
> > > > tackled by lack of need at that time
> > > >
> > > > Romain Manni-Bucau
> > > > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > > > <https://rmannibucau.metawerx.net/> | Old Blog
> > > > <http://rmannibucau.wordpress.com> | Github <
> > > > https://github.com/rmannibucau> |
> > > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > > > <
> > > >
> > >
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > > > >
> > > >
> > > >
> > > > Le jeu. 22 nov. 2018 à 14:56, Otávio Gonçalves de Santana <
> > > > osantana@tomitribe.com> a écrit :
> > > >
> > > > > Hello everyone, I have a question about PR and continuous
> > integrations.
> > > > > Why we don't have a plugin to run the tests when we open a PR?
> > > > >
> > > > > I'm also helping in another Apache Project such as Apache TinkerPop
> > > > > <https://github.com/apache/tinkerpop/pull/1000> and Apache Commons
> > > > > <https://github.com/apache/commons-lang/pull/384> Lang and both
> have
> > > > this.
> > > > >
> > > > >
> > > > > I also did a small search about, and I find more projects such as
> > > > Zeppelin,
> > > > > Commons-IO, Commons Collection those use the Travis plugin
> > > > > <https://travis-ci.org>.
> > > > >
> > > >
> > >
> > >
> > > --
> > > Atentamente:
> > > César Hernández Mendoza.
> > >
> >
>
>
> --
> Daniel "soro" Cunha
> https://twitter.com/dvlc_
>

Re: Continuous integration and a PR

Posted by Daniel Cunha <da...@apache.org>.
Hey,

I believe for TomEE we don't have PR integrated with CI. BTW, I also prefer
to have a jenkins instead of build-bot, for sure I think Jenkins better
than build-bot.

Em seg, 3 de dez de 2018 às 06:37, Otávio Gonçalves de Santana <
osantana@tomitribe.com> escreveu:

> Hey Cesar, I have the same issue. Unfortunately no luck yet.
>
> On Fri, Nov 30, 2018 at 9:12 PM César Hernández Mendoza <
> cesarguate@gmail.com> wrote:
>
> > Hi guys,
> > I need help understanding how I can see past builds results from
> > https://ci.apache.org/builders/tomee-trunk-ubuntu-jvm8
> > I couldn't find a way to search for the CI result of one or my PR's I
> > created early this week.
> >
> > I would also be interesting to see if we can use Jenkins instead
> > https://builds.apache.org/
> > I searched the work Jenkin in https://openejb.markmail.org/search/?q=
> but
> > it seems that topic hasn't been often mentioned.
> >
> > El jue., 22 nov. 2018 a las 8:19, Romain Manni-Bucau (<
> > rmannibucau@gmail.com>)
> > escribió:
> >
> > > Hi Otavio,
> > >
> > > Just needs to be asked to infra but the reactivity will be ~3h instead
> > of a
> > > few minutes like for small projects so not sure it would help much.
> > > Investing in a build.sh can help more (./build.sh --core, ./build.sh
> > > --tomee, ./build.sh --tomee --validate etc) - it is an old idea nobody
> > > tackled by lack of need at that time
> > >
> > > Romain Manni-Bucau
> > > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > > <https://rmannibucau.metawerx.net/> | Old Blog
> > > <http://rmannibucau.wordpress.com> | Github <
> > > https://github.com/rmannibucau> |
> > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > > <
> > >
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > > >
> > >
> > >
> > > Le jeu. 22 nov. 2018 à 14:56, Otávio Gonçalves de Santana <
> > > osantana@tomitribe.com> a écrit :
> > >
> > > > Hello everyone, I have a question about PR and continuous
> integrations.
> > > > Why we don't have a plugin to run the tests when we open a PR?
> > > >
> > > > I'm also helping in another Apache Project such as Apache TinkerPop
> > > > <https://github.com/apache/tinkerpop/pull/1000> and Apache Commons
> > > > <https://github.com/apache/commons-lang/pull/384> Lang and both have
> > > this.
> > > >
> > > >
> > > > I also did a small search about, and I find more projects such as
> > > Zeppelin,
> > > > Commons-IO, Commons Collection those use the Travis plugin
> > > > <https://travis-ci.org>.
> > > >
> > >
> >
> >
> > --
> > Atentamente:
> > César Hernández Mendoza.
> >
>


-- 
Daniel "soro" Cunha
https://twitter.com/dvlc_

Re: Continuous integration and a PR

Posted by Otávio Gonçalves de Santana <os...@tomitribe.com>.
Hey Cesar, I have the same issue. Unfortunately no luck yet.

On Fri, Nov 30, 2018 at 9:12 PM César Hernández Mendoza <
cesarguate@gmail.com> wrote:

> Hi guys,
> I need help understanding how I can see past builds results from
> https://ci.apache.org/builders/tomee-trunk-ubuntu-jvm8
> I couldn't find a way to search for the CI result of one or my PR's I
> created early this week.
>
> I would also be interesting to see if we can use Jenkins instead
> https://builds.apache.org/
> I searched the work Jenkin in https://openejb.markmail.org/search/?q= but
> it seems that topic hasn't been often mentioned.
>
> El jue., 22 nov. 2018 a las 8:19, Romain Manni-Bucau (<
> rmannibucau@gmail.com>)
> escribió:
>
> > Hi Otavio,
> >
> > Just needs to be asked to infra but the reactivity will be ~3h instead
> of a
> > few minutes like for small projects so not sure it would help much.
> > Investing in a build.sh can help more (./build.sh --core, ./build.sh
> > --tomee, ./build.sh --tomee --validate etc) - it is an old idea nobody
> > tackled by lack of need at that time
> >
> > Romain Manni-Bucau
> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > <https://rmannibucau.metawerx.net/> | Old Blog
> > <http://rmannibucau.wordpress.com> | Github <
> > https://github.com/rmannibucau> |
> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > <
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >
> >
> >
> > Le jeu. 22 nov. 2018 à 14:56, Otávio Gonçalves de Santana <
> > osantana@tomitribe.com> a écrit :
> >
> > > Hello everyone, I have a question about PR and continuous integrations.
> > > Why we don't have a plugin to run the tests when we open a PR?
> > >
> > > I'm also helping in another Apache Project such as Apache TinkerPop
> > > <https://github.com/apache/tinkerpop/pull/1000> and Apache Commons
> > > <https://github.com/apache/commons-lang/pull/384> Lang and both have
> > this.
> > >
> > >
> > > I also did a small search about, and I find more projects such as
> > Zeppelin,
> > > Commons-IO, Commons Collection those use the Travis plugin
> > > <https://travis-ci.org>.
> > >
> >
>
>
> --
> Atentamente:
> César Hernández Mendoza.
>

Re: Continuous integration and a PR

Posted by César Hernández Mendoza <ce...@gmail.com>.
Hi guys,
I need help understanding how I can see past builds results from
https://ci.apache.org/builders/tomee-trunk-ubuntu-jvm8
I couldn't find a way to search for the CI result of one or my PR's I
created early this week.

I would also be interesting to see if we can use Jenkins instead
https://builds.apache.org/
I searched the work Jenkin in https://openejb.markmail.org/search/?q= but
it seems that topic hasn't been often mentioned.

El jue., 22 nov. 2018 a las 8:19, Romain Manni-Bucau (<rm...@gmail.com>)
escribió:

> Hi Otavio,
>
> Just needs to be asked to infra but the reactivity will be ~3h instead of a
> few minutes like for small projects so not sure it would help much.
> Investing in a build.sh can help more (./build.sh --core, ./build.sh
> --tomee, ./build.sh --tomee --validate etc) - it is an old idea nobody
> tackled by lack of need at that time
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
>
>
> Le jeu. 22 nov. 2018 à 14:56, Otávio Gonçalves de Santana <
> osantana@tomitribe.com> a écrit :
>
> > Hello everyone, I have a question about PR and continuous integrations.
> > Why we don't have a plugin to run the tests when we open a PR?
> >
> > I'm also helping in another Apache Project such as Apache TinkerPop
> > <https://github.com/apache/tinkerpop/pull/1000> and Apache Commons
> > <https://github.com/apache/commons-lang/pull/384> Lang and both have
> this.
> >
> >
> > I also did a small search about, and I find more projects such as
> Zeppelin,
> > Commons-IO, Commons Collection those use the Travis plugin
> > <https://travis-ci.org>.
> >
>


-- 
Atentamente:
César Hernández Mendoza.

Re: Continuous integration and a PR

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi Otavio,

Just needs to be asked to infra but the reactivity will be ~3h instead of a
few minutes like for small projects so not sure it would help much.
Investing in a build.sh can help more (./build.sh --core, ./build.sh
--tomee, ./build.sh --tomee --validate etc) - it is an old idea nobody
tackled by lack of need at that time

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le jeu. 22 nov. 2018 à 14:56, Otávio Gonçalves de Santana <
osantana@tomitribe.com> a écrit :

> Hello everyone, I have a question about PR and continuous integrations.
> Why we don't have a plugin to run the tests when we open a PR?
>
> I'm also helping in another Apache Project such as Apache TinkerPop
> <https://github.com/apache/tinkerpop/pull/1000> and Apache Commons
> <https://github.com/apache/commons-lang/pull/384> Lang and both have this.
>
>
> I also did a small search about, and I find more projects such as Zeppelin,
> Commons-IO, Commons Collection those use the Travis plugin
> <https://travis-ci.org>.
>

Re: Continuous integration and a PR

Posted by Romain Manni-Bucau <rm...@gmail.com>.
If it helps: Travis is quite bad for big OS projects cause it has a limited
queue for OS project which prevent parallelism very quickly so you would
just wait days at the end, likely better to ask infra to setup the build on
ASF jenkins IMHO. We can have a light flavor of the build, like just a "mvn
clean install -Pall-adapters" - assuming a 3h build still helps.

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le jeu. 22 nov. 2018 à 15:15, Jonathan Gallimore <
jonathan.gallimore@gmail.com> a écrit :

> We do have a CI server:
> https://ci.apache.org/builders/tomee-trunk-ubuntu-jvm8
>
> Our build is massive though - it takes between 2 and 5 hours, depending on
> hardware. 6+ PRs being updated per day would mean it would be potentially
> running all the time with a growing queue. Commons-lang on the other hand,
> takes 15 minutes:
>
> https://travis-ci.org/apache/commons-lang/builds/457567190?utm_source=github_status&utm_medium=notification
> .
>
> I'm certainly not against it, but I'm not sure it'll be a trivial setup
> either. For those interested, the relevant parts of our buildbot build are
> here:
>
>     f = util.BuildFactory()
>     f.addStep(steps.Git(repourl="<git url>/tomee.git", mode='full',
> method='clobber', submodules=True, branch="" + scm_path))
>     f.addStep(steps.ShellCommand(command=["rm", "-rf", tmpdir],
> name="remove-tmpdir"))
>     f.addStep(steps.ShellCommand(command=["mkdir", "-p", tmpdir],
> name="create-tmpdir"))
>     f.addStep(steps.Compile(
>         command=[
>             "mvn",
>             "-e",
>             "--show-version",
>             "--update-snapshots",
>             "--fail-at-end",
>             "-Djava.io.tmpdir=" + tmpdir,
>             "clean",
>             "install",
>             "-Dhttps.protocols=TLSv1.1,TLSv1.2",
>             "-DfailIfNoTests=false",
>             "-DskipTests",
>             ],
>         env={'MAVEN_OPTS': mopts},
>         warningPattern="(^WARN) | (^WARNING) | (^warning) |
> (.*warning[:].*)",
>         warnOnWarnings=False,
>         timeout=2400,
>         name="compile"
>     ))
>
>     f.addStep(steps.ShellCommand(
>         command=[
>             "mvn",
>             "-U",
>             "-Dhttps.protocols=TLSv1.1,TLSv1.2",
>             "checkstyle:check",
>             "-Pstyle"
>         ],
>         name="check-formatting"
>     ))
>
>     f.addStep(steps.ShellCommand(
>         command=[
>             "mvn",
>             "-Dhttps.protocols=TLSv1.1,TLSv1.2",
>             "pmd:check",
>             "-Pstyle"
>         ],
>         name="check-pmd"
>     ))
>
>     f.addStep(steps.ShellCommand(command=["rm", "-rf", tmpdir],
> name="remove-tmpdir"))
>     f.addStep(steps.ShellCommand(command=["mkdir", "-p", tmpdir],
> name="create-tmpdir"))
>     f.addStep(steps.Compile(
>         command=[
>             "mvn",
>             "-U",
>             "--show-version",
>             "--fail-at-end",
>             "-Djava.io.tmpdir=" + tmpdir,
>             "clean",
>             "install",
>             "-Pall-adapters",
>             "-Dmaven.test.error.ignore=true",
>             "-Dmaven.test.failure.ignore=true",
>             "-Dhttps.protocols=TLSv1.1,TLSv1.2",
>             "-Dsurefire.useFile=false",
>             "-DdisableXmlReport=true",
>             "-Dopenejb.arquillian.debug=true",
>             "-DTOMEE_LOCK_FILE=/tmp/" + name + "-tomee.port.lock",
>             ],
>         env={'MAVEN_OPTS': mopts},
>         warningPattern="(^WARN) | (^WARNING) | (^warning) |
> (.*warning[:].*)",
>         warnOnWarnings=False,
>         timeout=18000,
>         name="test"
>     ))
>
>     f.addStep(steps.ShellCommand(
>         command=["bash", "-c", "find . -name 'org.*.txt' | xargs cat"],
>         alwaysRun=True,
>         name="test-results"
>     ))
>
> There's quite a lot going on. Short version:
>
> * checkout
> * quick build, no tests
> * check style
> * PMD
> * full build with all tests.
>
> I personally run a server at home and it has a VM just for running builds
> before opening PRs. I don't know how much control we get over the build
> with Travis or how much power it has. I'm happy to donate some machine
> cycles to running builds if we want to try it out.
>
> Jon
>
> On Thu, Nov 22, 2018 at 1:56 PM Otávio Gonçalves de Santana <
> osantana@tomitribe.com> wrote:
>
> > Hello everyone, I have a question about PR and continuous integrations.
> > Why we don't have a plugin to run the tests when we open a PR?
> >
> > I'm also helping in another Apache Project such as Apache TinkerPop
> > <https://github.com/apache/tinkerpop/pull/1000> and Apache Commons
> > <https://github.com/apache/commons-lang/pull/384> Lang and both have
> this.
> >
> >
> > I also did a small search about, and I find more projects such as
> Zeppelin,
> > Commons-IO, Commons Collection those use the Travis plugin
> > <https://travis-ci.org>.
> >
>

Re: Continuous integration and a PR

Posted by Jonathan Gallimore <jo...@gmail.com>.
We do have a CI server:
https://ci.apache.org/builders/tomee-trunk-ubuntu-jvm8

Our build is massive though - it takes between 2 and 5 hours, depending on
hardware. 6+ PRs being updated per day would mean it would be potentially
running all the time with a growing queue. Commons-lang on the other hand,
takes 15 minutes:
https://travis-ci.org/apache/commons-lang/builds/457567190?utm_source=github_status&utm_medium=notification
.

I'm certainly not against it, but I'm not sure it'll be a trivial setup
either. For those interested, the relevant parts of our buildbot build are
here:

    f = util.BuildFactory()
    f.addStep(steps.Git(repourl="<git url>/tomee.git", mode='full',
method='clobber', submodules=True, branch="" + scm_path))
    f.addStep(steps.ShellCommand(command=["rm", "-rf", tmpdir],
name="remove-tmpdir"))
    f.addStep(steps.ShellCommand(command=["mkdir", "-p", tmpdir],
name="create-tmpdir"))
    f.addStep(steps.Compile(
        command=[
            "mvn",
            "-e",
            "--show-version",
            "--update-snapshots",
            "--fail-at-end",
            "-Djava.io.tmpdir=" + tmpdir,
            "clean",
            "install",
            "-Dhttps.protocols=TLSv1.1,TLSv1.2",
            "-DfailIfNoTests=false",
            "-DskipTests",
            ],
        env={'MAVEN_OPTS': mopts},
        warningPattern="(^WARN) | (^WARNING) | (^warning) |
(.*warning[:].*)",
        warnOnWarnings=False,
        timeout=2400,
        name="compile"
    ))

    f.addStep(steps.ShellCommand(
        command=[
            "mvn",
            "-U",
            "-Dhttps.protocols=TLSv1.1,TLSv1.2",
            "checkstyle:check",
            "-Pstyle"
        ],
        name="check-formatting"
    ))

    f.addStep(steps.ShellCommand(
        command=[
            "mvn",
            "-Dhttps.protocols=TLSv1.1,TLSv1.2",
            "pmd:check",
            "-Pstyle"
        ],
        name="check-pmd"
    ))

    f.addStep(steps.ShellCommand(command=["rm", "-rf", tmpdir],
name="remove-tmpdir"))
    f.addStep(steps.ShellCommand(command=["mkdir", "-p", tmpdir],
name="create-tmpdir"))
    f.addStep(steps.Compile(
        command=[
            "mvn",
            "-U",
            "--show-version",
            "--fail-at-end",
            "-Djava.io.tmpdir=" + tmpdir,
            "clean",
            "install",
            "-Pall-adapters",
            "-Dmaven.test.error.ignore=true",
            "-Dmaven.test.failure.ignore=true",
            "-Dhttps.protocols=TLSv1.1,TLSv1.2",
            "-Dsurefire.useFile=false",
            "-DdisableXmlReport=true",
            "-Dopenejb.arquillian.debug=true",
            "-DTOMEE_LOCK_FILE=/tmp/" + name + "-tomee.port.lock",
            ],
        env={'MAVEN_OPTS': mopts},
        warningPattern="(^WARN) | (^WARNING) | (^warning) |
(.*warning[:].*)",
        warnOnWarnings=False,
        timeout=18000,
        name="test"
    ))

    f.addStep(steps.ShellCommand(
        command=["bash", "-c", "find . -name 'org.*.txt' | xargs cat"],
        alwaysRun=True,
        name="test-results"
    ))

There's quite a lot going on. Short version:

* checkout
* quick build, no tests
* check style
* PMD
* full build with all tests.

I personally run a server at home and it has a VM just for running builds
before opening PRs. I don't know how much control we get over the build
with Travis or how much power it has. I'm happy to donate some machine
cycles to running builds if we want to try it out.

Jon

On Thu, Nov 22, 2018 at 1:56 PM Otávio Gonçalves de Santana <
osantana@tomitribe.com> wrote:

> Hello everyone, I have a question about PR and continuous integrations.
> Why we don't have a plugin to run the tests when we open a PR?
>
> I'm also helping in another Apache Project such as Apache TinkerPop
> <https://github.com/apache/tinkerpop/pull/1000> and Apache Commons
> <https://github.com/apache/commons-lang/pull/384> Lang and both have this.
>
>
> I also did a small search about, and I find more projects such as Zeppelin,
> Commons-IO, Commons Collection those use the Travis plugin
> <https://travis-ci.org>.
>