Re-export Expression from Predicates
[hadrian.git] / .travis.yml
index 13a70d2..7d5b699 100644 (file)
@@ -1,56 +1,79 @@
-sudo: false
+sudo: true
 
-os:
-    - linux
-    - osx
+matrix:
+    include:
+        - os: linux
+          env: CABALVER=1.22 GHCVER=7.10.3 TARGET=
+          addons:
+              apt:
+                  packages:
+                      - ghc-7.10.3
+                      - cabal-install-1.22
+                      - zlib1g-dev
+                  sources: hvr-ghc
+          before_install:
+              - PATH="/opt/ghc/$GHCVER/bin:$PATH"
+              - PATH="/opt/cabal/$CABALVER/bin:$PATH"
+              - PATH="$HOME/.cabal/bin:$PATH"
+              - export PATH
+              - cabal update
+              - cabal install alex happy
 
-env:
-    - CABALVER=1.22 GHCVER=7.10.3
-
-addons:
-    apt:
-        packages:
-            - ghc-7.10.3
-            - alex-3.1.4
-            - happy-1.19.5
-            - cabal-install-1.22
-            - zlib1g-dev
-        sources: hvr-ghc
-
-before_install:
-
-    - PATH="$HOME/.cabal/bin:$PATH"
-    - PATH="/opt/ghc/$GHCVER/bin:$PATH"
-    - PATH="/opt/cabal/$CABALVER/bin:$PATH"
-    - export PATH
+        - os: osx
+          env: TARGET=
+          before_install:
+              - brew update
+              - brew install ghc cabal-install
+              - cabal update
+              - cabal install alex happy
+              - PATH="$HOME/.cabal/bin:$PATH"
+              - export PATH
 
+install:
     - env
     - ghc --version
     - cabal --version
     - alex --version
     - happy --version
-    - cabal update
 
-install:
-
-    - travis_retry git clone git://git.haskell.org/ghc --recurse-submodules
+    - git config --global url."git://github.com/ghc/packages-".insteadOf     git://github.com/ghc/packages/
+    - git config --global url."http://github.com/ghc/packages-".insteadOf    http://github.com/ghc/packages/
+    - git config --global url."https://github.com/ghc/packages-".insteadOf   https://github.com/ghc/packages/
+    - git config --global url."ssh://git@github.com/ghc/packages-".insteadOf ssh://git@github.com/ghc/packages/
+    - git config --global url."git@github.com:/ghc/packages-".insteadOf      git@github.com:/ghc/packages/
+    - travis_retry git clone https://github.com/ghc/ghc --recurse-submodules --depth 1
 
     # Travis clones the project into ".", but we need it as a child directory
     # of "ghc/". For this reason, we - rather hackily - move the GHC-Shake
     # ".git"  directory into the appropriate location, and perform a hard reset
     # in order to regenerate the GHC-Shake files.
-    - mkdir ghc/shake-build
-    - mv .git ghc/shake-build
-    - ( cd ghc/shake-build && git reset --hard HEAD )
+    - mkdir ghc/hadrian
+    - mv .git ghc/hadrian
+    - ( cd ghc/hadrian && git reset --hard HEAD )
 
-    - ( cd ghc/shake-build && cabal install --only-dependencies )
+    - ( cd ghc/hadrian && cabal install --only-dependencies )
+    - ( cd ghc/hadrian && cabal configure )
 
-    - ( cd ghc && ./boot )
-    - ( cd ghc && ./configure )
+    - ghc-pkg list
 
 script:
-    - ./ghc/shake-build/build.sh -j --no-progress
+    - ( cd ghc/hadrian && cabal haddock --internal )
+    - ./ghc/hadrian/build.sh selftest
+    - ./ghc/hadrian/build.sh -j --no-progress --profile=- --flavour=quick $TARGET
 
 cache:
     directories:
         - $HOME/.cabal
+        - $HOME/.ghc
+
+notifications:
+    irc:
+        on_success: change # always/never/change
+        on_failure: always
+        channels:
+            - "chat.freenode.net#shaking-up-ghc"
+        template:
+            - "#%{build_number} finished in %{duration}. %{message}"
+            - "Repo: %{repository_slug}, branch: %{branch}"
+            - "%{author}: %{commit_subject}"
+            - "Build details: %{build_url}"