.travis.yml 2.6 KB
Newer Older
1 2 3
# The following enables container-based travis instances
sudo: false

Joachim Breitner's avatar
Joachim Breitner committed
4 5 6 7 8 9 10
git:
  submodules: false

env:
 - DEBUG_STAGE2=YES
 - DEBUG_STAGE2=NO

11 12
# TODO. Install llvm once llvm's APT repository is working again.
# See http://lists.llvm.org/pipermail/llvm-dev/2016-May/100303.html.
13 14 15 16
addons:
  apt:
    sources:
    - hvr-ghc
17
    #- llvm-toolchain-precise-3.7
18 19
    - ubuntu-toolchain-r-test
    packages:
Michael Sloan's avatar
Michael Sloan committed
20 21
    - cabal-install-2.2
    - ghc-8.4.3
22 23
    - alex-3.1.7
    - happy-1.19.5
24
    - python3
25
    #- llvm-3.7
26

Joachim Breitner's avatar
Joachim Breitner committed
27
before_install:
Michael Sloan's avatar
Michael Sloan committed
28
 - export PATH=/opt/ghc/8.4.3/bin:/opt/cabal/2.2/bin:/opt/alex/3.1.7/bin:/opt/happy/1.19.5/bin:/usr/lib/llvm-3.7/bin:$PATH
thomie's avatar
thomie committed
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

# Be explicit about which protocol to use, such that we don't have to repeat the rewrite command for each.
 - git config remote.origin.url git://github.com/${TRAVIS_REPO_SLUG}.git
 - git config --global url."git://github.com/${TRAVIS_REPO_SLUG%/*}/packages-".insteadOf "git://github.com/${TRAVIS_REPO_SLUG%/*}/packages/"
 - git submodule --quiet init # Be quiet about these urls, as we may override them later.

# Check if submodule repositories exist.
 - 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

# Use github.com/ghc for those submodule repositories we couldn't connect to.
 - git config remote.origin.url git://github.com/ghc/ghc.git
 - git config --global url."git://github.com/ghc/packages-".insteadOf git://github.com/ghc/packages/
 - git submodule init # Don't be quiet, we want to show these urls.
 - git submodule --quiet update --recursive # Now we can be quiet again.

Joachim Breitner's avatar
Joachim Breitner committed
44 45 46
script:
 # do  not build docs
 - echo 'HADDOCK_DOCS       = NO' >> mk/validate.mk
47 48
 - echo 'BUILD_SPHINX_HTML  = NO' >> mk/validate.mk
 - echo 'BUILD_SPHINX_PDF   = NO' >> mk/validate.mk
Joachim Breitner's avatar
Joachim Breitner committed
49 50 51
 # do not build dynamic libraries
 - echo 'DYNAMIC_GHC_PROGRAMS = NO' >> mk/validate.mk
 - echo 'GhcLibWays = v' >> mk/validate.mk
thomie's avatar
thomie committed
52
 - if [ "$DEBUG_STAGE2" = "YES" ]; then echo 'GhcStage2HcOpts += -DDEBUG' >> mk/validate.mk; fi
53 54 55 56 57
 # * Use --quiet, otherwise the build log might exceed the limit of 4
 # megabytes, causing Travis to kill our job.
 # * But use VERBOSE=2 (the default, but not when using --quiet) otherwise
 # the testsuite might not print output for over 10 minutes (more likely so
 # when DEBUG_STAGE2=NO), causing Travis to again kill our job.
58 59
 # * Use --fast, to stay within the time limits set by Travis.
 # See Note [validate and testsuite speed] in toplevel Makefile.
60 61
 # Actually, do not run test suite. Takes too long.
 - THREADS=3 SKIP_PERF_TESTS=YES VERBOSE=2 ./validate --fast --quiet --build-only