sudo: true matrix: include: - os: linux env: MODE="selftest" compiler: "GHC 8.4.3" addons: apt: packages: - ghc-8.4.3 - cabal-install-2.4 - zlib1g-dev sources: hvr-ghc before_install: - PATH="/opt/ghc/8.4.3/bin:$PATH" - PATH="/opt/cabal/2.4/bin:$PATH" script: # Run internal Hadrian tests, after boot and configure. - hadrian/build.sh -c selftest - os: linux env: MODE="--flavour=quickest" compiler: "GHC 8.4.3" addons: apt: packages: - ghc-8.4.3 - cabal-install-2.4 - zlib1g-dev sources: hvr-ghc before_install: - PATH="/opt/ghc/8.4.3/bin:$PATH" - PATH="/opt/cabal/2.4/bin:$PATH" script: # Build GHC, letting hadrian boot & configure the ghc source tree - hadrian/build.sh -c -j $MODE --no-progress --progress-colour=never --profile=- - os: linux env: MODE="--flavour=quickest --integer-simple" compiler: "GHC 8.6.1" addons: apt: packages: - ghc-8.6.1 - cabal-install-2.4 - zlib1g-dev sources: hvr-ghc before_install: - PATH="/opt/ghc/8.6.1/bin:$PATH" - PATH="/opt/cabal/2.4/bin:$PATH" script: # boot, configure and build GHC - hadrian/build.sh -c -j $MODE --no-progress --progress-colour=never --profile=- # Test GHC binary - _build/stage1/bin/ghc -e 1+2 - os: osx osx_image: xcode8 env: MODE="--flavour=quickest --integer-simple" before_install: - brew update - brew install ghc cabal-install - brew upgrade python script: # Due to timeout limit of OS X build on Travis CI, # we will ignore selftest - hadrian/build.sh -j -c $MODE --no-progress --progress-colour=never --profile=- # Test GHC binary - _build/stage1/bin/ghc -e 1+2 install: # Add Cabal to PATH - PATH="$HOME/.cabal/bin:$PATH" - export PATH - env # Fetch GHC sources into ./ghc - git --version - git config --global url."git://github.com/ghc/packages-".insteadOf git://github.com/ghc/packages/ - git clone --depth 1 --recursive git://github.com/ghc/ghc # --shallow-submodules is not supported on travis standard git 1.8 (linux), but it is supported # on Travis Mac OS X machines. But it does not work with github mirrors because it cannot # find commits. # Install all Hadrian and GHC build dependencies - cabal update - cabal install alex happy # GHC comes with an older version of Hadrian, so we delete it - rm -rf ghc/hadrian/.git # Travis has already cloned Hadrian into ./ and we need to move it # to ./ghc/hadrian -- one way to do it is to move the .git directory # and perform a hard reset in order to regenerate Hadrian files - mv .git ghc/hadrian - cd ghc/hadrian && git reset --hard HEAD && cd .. cache: directories: - $HOME/.cabal - $HOME/.ghc