summaryrefslogtreecommitdiff
path: root/hadrian/circle.yml
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2018-10-23 14:20:13 -0400
committerBen Gamari <ben@smart-cactus.org>2018-10-23 14:20:13 -0400
commit94756201349685a34c4495addd3484fdfcc8b498 (patch)
treefd4a9cee20d3c2b79f56ded7e02fb0c01b26b6c9 /hadrian/circle.yml
parent575b35f4cdc18045bccd42d341d6f25d95c0696c (diff)
parent45f3bff7016a2a0cd9a5455a882ced984655e90b (diff)
downloadhaskell-94756201349685a34c4495addd3484fdfcc8b498.tar.gz
Add 'hadrian/' from commit '45f3bff7016a2a0cd9a5455a882ced984655e90b'
git-subtree-dir: hadrian git-subtree-mainline: 575b35f4cdc18045bccd42d341d6f25d95c0696c git-subtree-split: 45f3bff7016a2a0cd9a5455a882ced984655e90b
Diffstat (limited to 'hadrian/circle.yml')
-rw-r--r--hadrian/circle.yml45
1 files changed, 45 insertions, 0 deletions
diff --git a/hadrian/circle.yml b/hadrian/circle.yml
new file mode 100644
index 0000000000..4d0d97340e
--- /dev/null
+++ b/hadrian/circle.yml
@@ -0,0 +1,45 @@
+machine:
+ xcode:
+ version: 8.0
+ environment:
+ MODE: --flavour=quickest --integer-simple
+
+dependencies:
+ override:
+ - brew update
+ - brew install ghc cabal-install python3
+ - brew link ghc cabal-install python3
+ - cabal update
+ - cabal install alex 'happy >= 1.19.4' mtl shake QuickCheck
+ cache_directories:
+ - ~/.cabal
+ - ~/.ghc
+ - /usr/local/Cellar
+
+compile:
+ override:
+ # 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
+
+ # GHC comes with an older version of Hadrian, so we delete it
+ - rm -rf ghc/hadrian/.git
+ # move hadrian's .git into ./ghc/hadrian and perform a hard reset in order to regenerate Hadrian files
+ - mv .git ghc/hadrian
+ # NOTE: we must write them in the same line because each line
+ # in CircleCI is a separate process, thus you can't "cd" for the other lines
+ - cd ghc/hadrian; git reset --hard HEAD
+ - cd ghc; ./boot && PATH=~/.cabal/bin:$PATH ./configure
+
+ # XXX: export PATH doesn't work well either, so we use inline env
+ # Self test
+ - cd ghc; PATH=~/.cabal/bin:$PATH hadrian/build.sh selftest
+
+ # Build GHC
+ - cd ghc; PATH=~/.cabal/bin:$PATH hadrian/build.sh -j $MODE --no-progress --progress-colour=never --profile=-
+
+test:
+ override:
+ # Test GHC binary
+ - ghc/_build/stage1/bin/ghc -e 1+2