distrib/configure: Canonicalize triples
[ghc.git] / .travis.yml
1 # The following enables container-based travis instances
2 sudo: false
3
4 git:
5   submodules: false
6
7 env:
8  - DEBUG_STAGE2=YES
9  - DEBUG_STAGE2=NO
10
11 # TODO. Install llvm once llvm's APT repository is working again.
12 # See http://lists.llvm.org/pipermail/llvm-dev/2016-May/100303.html.
13 addons:
14   apt:
15     sources:
16     - hvr-ghc
17     #- llvm-toolchain-precise-3.7
18     - ubuntu-toolchain-r-test
19     packages:
20     - cabal-install-1.18
21     - ghc-7.10.3
22     - alex-3.1.3
23     - happy-1.19.4
24     - python3
25     #- llvm-3.7
26
27 before_install:
28  - export PATH=/opt/ghc/7.10.3/bin:/opt/cabal/1.18/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/lib/llvm-3.7/bin:$PATH
29
30 # Be explicit about which protocol to use, such that we don't have to repeat the rewrite command for each.
31  - git config remote.origin.url git://github.com/${TRAVIS_REPO_SLUG}.git
32  - git config --global url."git://github.com/${TRAVIS_REPO_SLUG%/*}/packages-".insteadOf "git://github.com/${TRAVIS_REPO_SLUG%/*}/packages/"
33  - git submodule --quiet init # Be quiet about these urls, as we may override them later.
34
35 # Check if submodule repositories exist.
36  - git config --get-regexp submodule.*.url | while read entry url; do git ls-remote "$url" dummyref 2>/dev/null && echo "$entry = $url" || git config --unset-all "$entry" ; done
37
38 # Use github.com/ghc for those submodule repositories we couldn't connect to.
39  - git config remote.origin.url git://github.com/ghc/ghc.git
40  - git config --global url."git://github.com/ghc/packages-".insteadOf git://github.com/ghc/packages/
41  - git submodule init # Don't be quiet, we want to show these urls.
42  - git submodule --quiet update --recursive # Now we can be quiet again.
43
44 script:
45  # do  not build docs
46  - echo 'HADDOCK_DOCS       = NO' >> mk/validate.mk
47  - echo 'BUILD_SPHINX_HTML  = NO' >> mk/validate.mk
48  - echo 'BUILD_SPHINX_PDF   = NO' >> mk/validate.mk
49  # do not build dynamic libraries
50  - echo 'DYNAMIC_GHC_PROGRAMS = NO' >> mk/validate.mk
51  - echo 'GhcLibWays = v' >> mk/validate.mk
52  - if [ "$DEBUG_STAGE2" = "YES" ]; then echo 'GhcStage2HcOpts += -DDEBUG' >> mk/validate.mk; fi
53  # * Use --quiet, otherwise the build log might exceed the limit of 4
54  # megabytes, causing Travis to kill our job.
55  # * But use VERBOSE=2 (the default, but not when using --quiet) otherwise
56  # the testsuite might not print output for over 10 minutes (more likely so
57  # when DEBUG_STAGE2=NO), causing Travis to again kill our job.
58  # * Use --fast, to stay within the time limits set by Travis.
59  # See Note [validate and testsuite speed] in toplevel Makefile.
60  - THREADS=3 SKIP_PERF_TESTS=YES VERBOSE=2 ./validate --fast --quiet