Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jersey-dev] CI builds

Hi Jan,

thanks a lot for the update. I never ran into the 4MB log limit and to be honest, I didn't know that this limit exists. :-)

I think that (1) would be a good workaround for now. But in the end (3) may be the best option. But I don't know enough about the Jersey build in detail to know if this can really work.

For the MVC 1.0 reference implementation Ozark we are using Travis Build Stages to run builds in parallel (see the latest build and the Travis config). I could imagine that executing multiple Jersey builds in parallel, each running only a subset of the full build, may work.

Something like (simplified):
  • Build A (tests, no examples)
    • mvn -Dexamples.excluded clean install      
  • Build B (examples, no tests)
    • mvn -Dtests.excluded clean install
Christian


Am Mo., 14. Mai 2018 um 17:14 Uhr schrieb Jan Supol <jan.supol@xxxxxxxxxx>:
Hi,

For us it seems Travis build (without tests) takes approximately 2x as
long as on our machines. 120minutes is definitely a good news, though it
still may not be enough.  Running few experiments, we hit another issue
with running the tests on Travis; it's not the time (yet) that limits
us, it's the length of the output. There are few possible solutions:

1) Using grep as suggested by the PR
https://github.com/eclipse-ee4j/jersey/pull/3825 (Needs some tweaking, yet)

2) Follow
https://stackoverflow.com/questions/26082444/how-to-work-around-travis-cis-4mb-output-limit/26082445

3) Split the tests to more areas to run in parallel and fit into the
limit (similar to the "smoke" profile experiment)

Any comments/ideas/experience with the Travis outputs are welcome.

Thanks,
Jan


On 07.05.2018 13:13, arjan tijms wrote:
> Hi,
>
> For Payara I've ran the Jersey tests a couple of time, and indeed they
> take a very long time to execute.
>
> Java EE 7 samples though takes 8 hours on Travis. See
> https://www.travis-ci.org/javaee-samples/javaee7-samples
>
> It's split up into several sub build jobs, with the longest taking
> about 50 minutes (within the time limit of 120 minutes).
>
> From the top of my head, Jersey takes about 3 times as long as Java EE
> 7 samples on my local machine. Of course that doesn't say it's also 3
> times slower on Travis, but it might give an indication. If it's
> indeed 3 times slower on Travis, a single test run would take about 24
> hours.
>
> Kind regards,
> Arjan
>
>
>
>
>
>
>
>
> On Sun, May 6, 2018 at 7:31 AM, Christian Kaltepoth
> <christian@xxxxxxxxxxxx <mailto:christian@xxxxxxxxxxxx>> wrote:
>
>     Yeah, it would be great to run all the tests in Travis. If the
>     timeout really is a problem, we could try to split the
>     long-running tests into groups and run them in parallel in
>     different Travis jobs. However, as I mentioned above, it looks
>     like we have actually 120 minutes until the build times out. So
>     maybe this is not an issue at all.
>
>     Am So., 6. Mai 2018 um 00:36 Uhr schrieb Markus KARG
>     <markus@xxxxxxxxxxxxxxx <mailto:markus@xxxxxxxxxxxxxxx>>:
>
>         What is an automated smoke-profile test actually proving? If
>         it succeeds this guarantees rather nothing as we do not know
>         if any of the tests outside of the smoke profile would have
>         failed. So while smoke-only testing is good to get the project
>         infrastructure initially set up and running, in the mid term
>         we need to make ALL tests succeed on Travis.
>
>         -Markus
>
>
>
>         -----Original Message-----
>         From: jersey-dev-bounces@xxxxxxxxxxx
>         <mailto:jersey-dev-bounces@xxxxxxxxxxx>
>         [mailto:jersey-dev-bounces@xxxxxxxxxxx
>         <mailto:jersey-dev-bounces@xxxxxxxxxxx>] On Behalf Of Jan Supol
>         Sent: Samstag, 5. Mai 2018 14:27
>         To: jersey-dev@xxxxxxxxxxx <mailto:jersey-dev@xxxxxxxxxxx>
>         Subject: Re: [jersey-dev] CI builds
>
>         Hi,
>
>         The plan is to use Travis. As you know, Jersey tests take more
>         than what is allowed to take in Travis. For this, we created a
>         "smoke" profile, which takes only about 30 minutes to run.
>         This is in pull request:
>         https://github.com/eclipse-ee4j/jersey/pull/3811
>         <https://github.com/eclipse-ee4j/jersey/pull/3811>. Once the
>         Travis is setup and able to run tests, and it would be
>         possible to run the tests with pull requests, we can start
>         dealing with pull requests, and be quite sure they do not
>         break anything. Sounds good?
>
>         We would like to have Travis setup next week.
>
>         Thanks,
>
>         Jan
>
>
>         On 05.05.2018 13:08, Markus KARG wrote:
>         >
>         > +1 for Travis
>         >
>         > +1 for simply copying the solution we have set up in the
>         JAX-RS API
>         > project
>         >
>         > -Markus
>         >
>         > *From:*jersey-dev-bounces@xxxxxxxxxxx
>         <mailto:jersey-dev-bounces@xxxxxxxxxxx>
>         > [mailto:jersey-dev-bounces@xxxxxxxxxxx
>         <mailto:jersey-dev-bounces@xxxxxxxxxxx>] *On Behalf Of *Christian
>         > Kaltepoth
>         > *Sent:* Samstag, 5. Mai 2018 11:00
>         > *To:* jersey-dev@xxxxxxxxxxx <mailto:jersey-dev@xxxxxxxxxxx>
>         > *Subject:* [jersey-dev] CI builds
>         >
>         > Hi all,
>         >
>         > I'm very happy to see that the Jersey code is available in
>         the EE4J
>         > repository now. And I'm even more excited to see that there are
>         > already 9 pull requests
>         <https://github.com/eclipse-ee4j/jersey/pulls
>         <https://github.com/eclipse-ee4j/jersey/pulls>>
>         > ready to be merged.
>         >
>         > One important thing that is required for reviewing pull
>         requests is to
>         > get some information about if the build (and the tests)
>         still pass
>         > with the modified code. Therefore, I think it is very
>         valuable to have
>         > automated CI builds for pull requests and branches.
>         >
>         > I would like to propose to use Travis CI
>         <https://travis-ci.org/> for
>         > getting CI builds for Jersey. Travis is super easy to set up
>         and free
>         > to use for public repository. The EE4J JAX-RS API project
>         recently
>         > enabled it for the JAX-RS API and it is working fine. We are
>         even
>         > running the build including the test against different JDK
>         versions
>         > (see here <https://travis-ci.org/eclipse-ee4j/jaxrs-api
>         <https://travis-ci.org/eclipse-ee4j/jaxrs-api>>) which is one
>         > of the great features of Travis.
>         >
>         > Adding Travis for Jersey is really simply and just requires
>         two steps.
>         >
>         >   * The Eclipse webmasters have to enable Travis CI builds
>         for the
>         >     eclipse-ee4j/jersey repository. This can be requested by
>         creating
>         >     corresponding ticket.
>         >   * We need a single file called ".travis.yml" in the root
>         of the
>         >     repository. This file contains the Travis configuration and
>         >     defines how to build the project. See the corresponding file
>         >   
>          <https://github.com/eclipse-ee4j/jaxrs-api/blob/master/.travis.yml
>         <https://github.com/eclipse-ee4j/jaxrs-api/blob/master/.travis.yml>>
>         >     from the eclipse-ee4j/jaxrs-api project for an example.
>         I could
>         >     contribute a working configuration via a pull request if
>         you agree
>         >     on my proposal.
>         >
>         > What do you think?
>         >
>         > Christian
>         >
>         >
>         > --
>         >
>         > Christian Kaltepoth
>         >
>         > Blog: http://blog.kaltepoth.de/
>         >
>         > Twitter: http://twitter.com/chkal
>         >
>         > GitHub: https://github.com/chkal
>         >
>         >
>         >
>         > _______________________________________________
>         > jersey-dev mailing list
>         > jersey-dev@xxxxxxxxxxx <mailto:jersey-dev@xxxxxxxxxxx>
>         > To change your delivery options, retrieve your password, or
>         > unsubscribe from this list, visit
>         > https://dev.eclipse.org/mailman/listinfo/jersey-dev
>         <https://dev.eclipse.org/mailman/listinfo/jersey-dev>
>
>         _______________________________________________
>         jersey-dev mailing list
>         jersey-dev@xxxxxxxxxxx <mailto:jersey-dev@xxxxxxxxxxx>
>         To change your delivery options, retrieve your password, or
>         unsubscribe from this list, visit
>         https://dev.eclipse.org/mailman/listinfo/jersey-dev
>         <https://dev.eclipse.org/mailman/listinfo/jersey-dev>
>
>         _______________________________________________
>         jersey-dev mailing list
>         jersey-dev@xxxxxxxxxxx <mailto:jersey-dev@xxxxxxxxxxx>
>         To change your delivery options, retrieve your password, or
>         unsubscribe from this list, visit
>         https://dev.eclipse.org/mailman/listinfo/jersey-dev
>         <https://dev.eclipse.org/mailman/listinfo/jersey-dev>
>
>
>
>     --
>     Christian Kaltepoth
>     Blog: http://blog.kaltepoth.de/
>     Twitter: http://twitter.com/chkal
>     GitHub: https://github.com/chkal
>
>
>     _______________________________________________
>     jersey-dev mailing list
>     jersey-dev@xxxxxxxxxxx <mailto:jersey-dev@xxxxxxxxxxx>
>     To change your delivery options, retrieve your password, or
>     unsubscribe from this list, visit
>     https://dev.eclipse.org/mailman/listinfo/jersey-dev
>     <https://dev.eclipse.org/mailman/listinfo/jersey-dev>
>
>
>
>
> _______________________________________________
> jersey-dev mailing list
> jersey-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/jersey-dev

_______________________________________________
jersey-dev mailing list
jersey-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jersey-dev


--

Back to the top