Rewrite Travis CI script.
Lots of changes:
- When possible, we use the container infrastructure (sudo: false)
rather than Google Compute Engine infrastructure (sudo: required).
Unfortunately, we can't use GCE for the Linux builds, where
reduced RAM available hoses are GHC build.
- Switched from using ./Setup and old-style cabal to new-build.
There are numerous great benefits but the best is that
.cabal/store can be cached on Travis, leading to huge speedups
on the build. Downside is we need to string-and-ceiling-wax
support for test/haddock/etc.
- I stopped bootstrapping on every build we do; instead there
is a separate bootstrap build we do to make sure that that
is working. This also speeds up the basic builds since
we are not building Cabal/cabal-install multiple times.
- There are some hacks. The big one is setting CABAL_BUILDDIR
explicitly; this smooths over quite a few infelicities in
the current new-build implementation.
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
cabal.project.travis
0 → 100644
travis-bootstrap.sh
0 → 100755
travis-common.sh
0 → 100644
travis-meta.sh
0 → 100755
Please register or sign in to comment