Now that 0.3 is released, I want to update my Travis scripts and get rid of 
those ugly conditionals on `JULIAVERSION` in favor of just running package 
tests with `Pkg.test()`, since it also handles dependency resolution etc.

However, I've seen a multitude of ways to install the package under test 
correctly on Travis, and I can't figure out what way is "the best", or 
recommended, way to do it. I've seen the following "in the wild":

* Manually installing dependencies, `ls`-ing and pinning:

```
- julia -e 'Pkg.init(); Pkg.add("ImmutableArrays")'
- julia -e 'run(`ln -s $(pwd()) $(Pkg.dir("Contour"))`); 
Pkg.pin("Contour"); Pkg.resolve();' 
```

followed by `julia test/runtest.jl`, possibly with `--coverage`.

* Cloning pwd

```
- julia -e 'Pkg.clone(pwd()); Pkg.test("Contour")'
```

possibly with a `coverage=true` kwarg to `Pkg.test()`. This seems to be 
what the file generated by `Pkg.generate()` does at the moment, too. There 
is certainly other possibilities out there as well.

I definitely prefer the latter version - if nothing else because it's 
shorter - but I can't say I know how Travis works well enough to say for 
sure if it has drawbacks that I don't understand. Is there a "recommended 
best practice" on how to do this? Is the file generated by `Pkg` updated to 
reflect this best practice?

// T

Reply via email to