Hey,
I'm just getting used to Travis & friends, however I've noticed a couple of practises that I'm not sure about, can anyone explain why these are done? My thinking is that CI testing should focus on the usecase where a new user picks up the product with a vanilla version of Plone (4.3.7 or 5.0), that is the most easily reproducible scenario after all!, However in the below scenarios that doesn't seem to be the case. Maybe I'm thinking wrong about this?
- checking out multiple source packages ([sources] section of buildout) in travis, rather than released versions. A new user won't be expecting to check out source packages of dependent products, so IMO while this might be acceptable in the short term, to get past a non-released change in another package, it shouldn't be "the norm".
-
buildout -N
coupled with travis caching. For someone building plone for the first time (or in a fresh virtualenv), it DOESN'T matter whether you are using newest mode (-n) or not (-N) in buildout, the results will be the same. However if you want to replicate that scenario when you are using a cache in travis, then surely you should use newest mode? If newly released eggs then cause test failures, then pins should be set in the CI buildout AND documented in the README.
I've seen these practises in a few places (including 2. in bobtemplates.plone) I thought I'd mention it here to get a wide opinion of whether I'm thinking right.... (and perhaps embarrass myself a bit)