on master help sign in
Merge pull request #3300 from melted/travis_osx

Enable Travis on OSX

commit645da8af20962af340d53bee9cbee41ec2b2005e authorNiklas Larsson <metaniklas@gmail.com> dateSun 31 Jul 2016, 16:33 (10 years ago) parentbaf54ac284b2ca
2 files changed+24−7
.travis.yml+23−7 CHANGELOG.md+1
.travis.yml+23−7
@@ -21,6 +21,9 @@ addons:
2121
2222matrix:
2323 include:
24+ - os: osx
25+ env: CABALVER="1.24" GHCVER="8.0.1" TESTS="test_c"
26+ compiler: ": #GHC 8.0.1"
2427 - env: CABALVER="1.20" GHCVER="7.6.3" TESTS="test_c"
2528 # separate caches for different compiler versions
2629 # until https://github.com/travis-ci/travis-ci/issues/4393 is resolved
@@ -51,26 +54,40 @@ before_cache:
5154
5255before_install:
5356 - unset CC
54− - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$HOME/.cabal/bin:$PATH
57+ - if [[ $TRAVIS_OS_NAME == 'linux' ]];
58+ then
59+ export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$HOME/.cabal/bin:$PATH;
60+ export SED=sed;
61+ export ZCAT=zcat;
62+ fi
5563 - env
64+ - if [[ $TRAVIS_OS_NAME == 'osx' ]];
65+ then
66+ brew update; brew install ghc; brew install cabal-install;
67+ brew install libffi; brew install pkg-config; brew install cppcheck;
68+ brew install gnu-sed;
69+ export PATH=$HOME/.cabal/bin:$PATH;
70+ export SED=gsed;
71+ export ZCAT=gzcat;
72+ export PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig:$PKG_CONFIG_PATH;
73+ fi
5674
5775install:
5876 - cabal --version
5977 - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
6078 - if [ -f $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz ];
6179 then
62− zcat $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz >
63− $HOME/.cabal/packages/hackage.haskell.org/00-index.tar;
80+ $ZCAT $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz >
81+ $HOME/.cabal/packages/hackage.haskell.org/00-index.tar;
6482 fi
6583 - travis_retry cabal update -v
6684 # Run build with 2 parallel jobs
6785 # The container environment reports 16 cores,
6886 # causing cabal's default configuration (jobs: $ncpus)
6987 # to run into the GHC #9221 bug which can result in longer build-times.
70− - sed -i -r 's/(^jobs:).*/\1 2/' $HOME/.cabal/config
88+ - $SED -i -r 's/(^jobs:).*/\1 2/' $HOME/.cabal/config
7189 - cabal install -f FFI --only-dependencies --enable-tests --dry -v > installplan.txt
72− - sed -i -e '1,/^Resolving /d' installplan.txt; cat installplan.txt
73−
90+ - $SED -i -e '1,/^Resolving /d' installplan.txt; cat installplan.txt
7491 # check whether current requested install-plan matches cached package-db snapshot
7592 - if diff -u installplan.txt $HOME/.cabsnap/installplan.txt;
7693 then
@@ -84,7 +101,6 @@ install:
84101 mkdir -p $HOME/.ghc $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin;
85102 cabal install -f FFI --only-dependencies --enable-tests;
86103 fi
87−
88104 # snapshot package-db on cache miss
89105 - if [ ! -d $HOME/.cabsnap ];
90106 then
CHANGELOG.md+1
@@ -34,6 +34,7 @@
3434## Miscellaneous updates
3535
3636* The test suite now uses [tasty-golden](https://hackage.haskell.org/package/tasty-golden). New tests must be registered in `test/TestData.hs`, as explained in the relevant `README.md`.
37+* Added OSX and Windows continous integration with Travis and Appveyor.
3738
3839# New in 0.12:
3940