[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17211859#comment-17211859 ] Juhan Aasaru commented on JAMES-3397: - Hi Benoit! About stability of tests - maybe the -T flag had a play in there and situation is not that bad. Let's maybe currently focus on fixing the tests that always fail on travis. Would you be able to look into them and see if you have any ideas about what could be the problem. I created a separate branch to only work with errors. I disabled jobs that work and increased the length of logs to last 4000 lines): # rabbitMQ problem: [https://travis-ci.com/github/aasaru/james-project/jobs/397898833] # second problem: [https://travis-ci.com/github/aasaru/james-project/jobs/397898834] With second problem this time there was only one error: SizeGreaterThanIntegrationTest.mailShouldBeDeliveredWhenSizeWithinLimit:99 » ConditionTimeout The previous build I referenced had two errors: [ERROR] RemoteDeliveryErrorTest.remoteDeliveryShouldNotRetryWhenRCPT500:237 » Retryable [ERROR] SizeGreaterThanIntegrationTest.mailShouldBeDeliveredWhenSizeWithinLimit:99 » ConditionTimeout > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17211814#comment-17211814 ] Benoit Tellier commented on JAMES-3397: --- Hello Juhan, Unstable tests are a recurring problem over here too. I will have a look at the tests you points and see if there can be some easy wins. However, I'm surprised you get along with so much issues. We get a build success rate of at least 2/3 on our private Jenkins, and last week I ran 3 builds in a raw manually on a private server. May you share some details about the target infrastructure? (CPU, memory, virtualized?) It looks like a good opportunity to enhance build stability... > My idea is to only run first phase (compile) for PR-s and the whole build > every time something is merged to master branch. Of course if we get the > whole build to be stable then we could run the whole build for each PR. Overall +1 for this intermediate step though just compiling brings little value overall. We will have to work on stability ;-) > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17211578#comment-17211578 ] Juhan Aasaru commented on JAMES-3397: - I have reached this far and have now been stuck for some time already due to tests failing in travis. I wonder if anyone could help me out. Code changes: [https://github.com/apache/james-project/compare/master...aasaru:travis-ci] Build: [https://travis-ci.com/github/aasaru/james-project/builds/188823725] Basically there are two major problems 1. when running this build: cd $ROOTDIR/mailbox && ../mvnw --no-transfer-progress install there is an error: [ERROR] RabbitMQEventBusDeadLetterQueueUpgradeTest.eventBusShouldStartWhenDeadLetterUpgradeWasNotPerformed » ShutdownSignal that results with: [INFO] Apache James :: Mailbox :: Event :: RabbitMQ implementation FAILURE [02:43 min] and 2-nd problem: cd server/mailet/integration-testing && ../../../mvnw --no-transfer-progress test fails with: [ERROR] Errors: [ERROR] RemoteDeliveryErrorTest.remoteDeliveryShouldNotRetryWhenRCPT500:237 » Retryable [ERROR] SizeGreaterThanIntegrationTest.mailShouldBeDeliveredWhenSizeWithinLimit:99 » ConditionTimeout Test logic. As you can see I first compile and install jar-s into .m2 directory at phase 1. Then in second phase I run tests in parallel. I have devided the tests into separate *.sh files (and placed them into .travis directory). Travis fails if the build output is too long so the *.sh files take care of this (by logging into separate file and taking a tail of that file in the end of the build and only outputing that). Stability: I removed -T flag from tests as it seemed to be unstable ocasionally. Ocasionally some more tests fail. My idea is to only run first phase (compile) for PR-s and the whole build every time something is merged to master branch. Of course if we get the whole build to be stable then we could run the whole build for each PR. > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17208554#comment-17208554 ] Benoit Tellier commented on JAMES-3397: --- > I didn't know about the -T flag before - I will add this in as well It will likely not help much as parrallelism is set up at the surefire (test runner) level. Gains only comes for "-T 8" when building. Also, we did not experimented tests with "-T 8". I won't be surprised that it brings stability issues. > I think I'm almost there to get the build passing. I will share the results > today or tomorrow.> Looks cool! Keep going ;-) > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17208498#comment-17208498 ] Juhan Aasaru commented on JAMES-3397: - Hi [~btellier] Thanks for looking into this. I have played around for a few days and finally reached to the same conclusinon. I didn't know about the -T flag before - I will add this in as well I think I'm almost there to get the build passing. I will share the results today or tomorrow. > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17208444#comment-17208444 ] Benoit Tellier commented on JAMES-3397: --- Hello [~juhan] Having a look at the builds I got the impression that travis parralelized build fails to share artifacts across workers. Maybe a quick fix to this approach could be to do the build in two stages: - Do a first, non parrallelized run with test skipping (and a high number of maven threads -T 8) - Reusing the build result of the first run, spawn test workers working in parrallel. > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17206842#comment-17206842 ] Juhan Aasaru commented on JAMES-3397: - I have reached this far that at first I compile (and install artifacts into $HOME/.m2) the project and then run tests in prarallel. But some of the tests still fail due to missing snapshots: [https://travis-ci.com/github/aasaru/james-project/builds/187968265] > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17206220#comment-17206220 ] Juhan Aasaru commented on JAMES-3397: - I now found the earlier task about CI ( https://issues.apache.org/jira/browse/JAMES-3225 ) and learned about the initiative to use Jenkins. I have little experience with Jenkinsfiles and gradle so I did investigate a bit further if some of the problems could be addressed with Travis. This doesn't mean that either initiative should be dropped. Rather I like the idea that Benoit Tellier proposed - short term (get anything to build fast) and long-term (get everything to built and tested with Jenkins) With travis it is possible to run tests in parallel - I set up a small test case for that. This was the script I had (testing 3 modules in parallel): script: cd core && ../mvnw --no-transfer-progress test - script: cd event-sourcing && ../mvnw --no-transfer-progress test - script: cd javax-mail-extension && ../mvnw --no-transfer-progress test And the result: https://travis-ci.com/github/aasaru/james-project/builds/187848766 Of course I have no idea how many parallel jobs are allowed - James has a lot of tests. But it is possible to first run initial stage and then in the next stage run stuff in parallel so it is quite flexible in terms of that. I also tried to only compile the James project with travis and it ran out of logfile length. I plan to work a little more on this. > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17206085#comment-17206085 ] Matthieu Baechler commented on JAMES-3397: -- AFAIU it's just a matter of dropping a JenkinsFile in the master branch > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17206052#comment-17206052 ] Benoit Tellier commented on JAMES-3397: --- [~ieugen] effort is more middle term as it is preconditioned by a migration to graddle. This effort could allow a partial build in a shorter time range, so might be beneficial. Optimally, I would agree to set up a minimal build (no docker) running on Apache infrastructure rather than on Travis. > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17206040#comment-17206040 ] Matthieu Baechler commented on JAMES-3397: -- Well, each person trying to have a CI on James @ Apache ends up proposing a new solution. I know that [~ieugen] worked at having James to build on Apache in https://issues.apache.org/jira/browse/JAMES-3397 so I would rather people trying to help with this initiative than starting a new one. WDYT ? > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17205995#comment-17205995 ] Benoit Tellier commented on JAMES-3397: --- Cool, then I agree with this option! > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17205974#comment-17205974 ] Juhan Aasaru commented on JAMES-3397: - > Are there some other Apache projects around relying on Travis CI ? I know Apache Fineract [https://github.com/apache/fineract] relies on Travis. > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17205958#comment-17205958 ] Benoit Tellier commented on JAMES-3397: --- Yes, the length of the build is an ongoing, known issue, that gets discussed within the community [see DEV mailing list]. Maybe an approach could be to "skip" tests launching docker containers (that is what takes time). Some efforts toward that have been done in the past. The feedback to our kind contributor would be good and quick enough, while it would be the committer responsibility to ensure, upon merges that the long integration test suite is passing. That would be a good improvement from the current situation. On the longer term, we should figure out a permanent solution to run all tests upon everybody contributions So I propose the following actions: - Using an environment variable, we skip tests relying on docker. Example: `ENV SKIP_DOCKER_TESTS=true` DockerContainer class provides an example of how to do that. We could widden its use, and provide a Supplier container> factory method where we could enforce the policy of running the test - or not. Then I would prefer seeing "Apache" CI tools rather than Travis. I understand that, as it might be easier to set up, it could be an intermediate viable state. Are there some other Apache projects around relying on Travis CI ? > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17205542#comment-17205542 ] Juhan Aasaru commented on JAMES-3397: - [When I skipped the failing test then the build was cancelled after 50min due to being too long: https://travis-ci.com/github/aasaru/james-project/jobs/393699789|https://travis-ci.com/github/aasaru/james-project/jobs/393699789] solution would be to exclude some less used tests from being run > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17205448#comment-17205448 ] Juhan Aasaru commented on JAMES-3397: - I did a build with Travis and following test failed: [ERROR] RabbitMQEventBusDeadLetterQueueUpgradeTest.eventBusShouldStartWhenDeadLetterUpgradeWasNotPerformed » ShutdownSignal Logfile: https://api.travis-ci.com/v3/job/393640805/log.txt (here you can find graphical version of the same thing: [https://travis-ci.com/github/aasaru/james-project/jobs/393640805)] I wonder if this test works at all. > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-3397) Set up travis-ci continuous integration to build the project and all pull requests
[ https://issues.apache.org/jira/browse/JAMES-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17205376#comment-17205376 ] Juhan Aasaru commented on JAMES-3397: - the downside of course is that it takes a lot of time for travis to run whole build > Set up travis-ci continuous integration to build the project and all pull > requests > -- > > Key: JAMES-3397 > URL: https://issues.apache.org/jira/browse/JAMES-3397 > Project: James Server > Issue Type: Improvement >Reporter: Juhan Aasaru >Priority: Major > > continuous integration increases quality and reduces chances that some PR can > accidentally break the build > I would like to work on this. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org