Description
Right now, we have 4 Issues ( #119 , #124 , #129 and #130 ) and 2 "Pull Requests" ( #120 , #128 ) related to Travis pending. Except for 129, that seems to require substantial changes, all the others appear to be simple and will probably be merged soon.
However, before solving 129, it would be useful to at least have an idea about what we plan to achieve, so we can focus our work in a more productive way.
I think that, ideally, those things would be desirable in Travis:
- Test with multiple versions of GHC.
- Isolated, reproducible test environments.
- Automatic handling of dependencies ( Depends on discussion: Tracking dependencies (update README.md to include package "lens"). #151 )
- Minimal maintenance on software updates.
The only idea I had until now was to use a list of dependencies to generate stack projects on-the-fly to pass to Travis test, using cache to reduce subsequent build times. It works surprisingly well, but only if GHC version >= 7.8.2.
It would still be possible to treat GHC 7.6.x as a special case and use cabal. But that's is an ugly solution and adds a lot of complexity.
Alternatively, we can keep using a global GHC installation with cabal, which is simple and easy, but is also less reproducible and doesn't allow us to enforce correct declaration of exercises' dependencies.
I would really love some feedback about this from as many people as possible.
So... anyone?