Hi all, I'd like to discuss one Travis feature here. Currently all Travis steps described in .travis.yml are executed regardless whether something fails or not. The problem is that if any step in the middle fails then it's quite hard to find the issue as the logs are usually very long. For example the yast2 log has over 4500 lines [1]. The question is whether we want to switch to the fail fast principle [2], so the Travis build would stop at the first failure and you could easily find it at the end of the log. (Travis does not support failing fast out of box, but there is a workaround for this [3].) Summary: Current state (always run all steps) + can find multiple issues in a single run - too long log for finding the issues - may report false positives for dependent steps (e.g. if compilation fails then obviously the tests fail too) - longer build times Fail fast + easy to find the failure + failed builds finish faster - you can only see/fix one issue at a time, more iterations for fixing all issues is needed (e.g. you fix a rubocop style issue, but then the testsuite does not pass, after fixing it the install step fails because of a missing change in Makefile... each fix means a new commit and a new build) What do you think about it? Should we change the Travis behavior? [1] https://travis-ci.org/yast/yast-yast2 [2] http://en.wikipedia.org/wiki/Fail-fast [3] https://github.com/travis-ci/travis-ci/issues/1066#issuecomment-32415453 -- Best Regards Ladislav Slezák Yast Developer ------------------------------------------------------------------------ SUSE LINUX, s.r.o. e-mail: lslezak@suse.cz Lihovarská 1060/12 tel: +420 284 028 960 190 00 Prague 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz/ -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org