Skip to main content

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

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



Back to the top