CircleCI - use -O0 only for cabal-v2 builds.

Stack build will not disable optimizations; this way we
can create a nightly.
This commit is contained in:
John MacFarlane 2019-01-25 09:11:23 -08:00
parent c32bcaa2d3
commit 062a8fb10b

View file

@ -3,7 +3,7 @@ version: "2.1"
env: &env
environment:
LC_ALL: "C.UTF-8"
GHC_OPTS: "-O0 -Wall -fno-warn-unused-do-bind -Wincomplete-record-updates -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances -Wincomplete-uni-patterns -Werror=missing-home-modules -Widentities -Wcpp-undef -fhide-source-paths"
GHC_OPTS: "-Wall -fno-warn-unused-do-bind -Wincomplete-record-updates -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances -Wincomplete-uni-patterns -Werror=missing-home-modules -Widentities -Wcpp-undef -fhide-source-paths"
docker:
- image: fpco/stack-build:lts
@ -52,15 +52,15 @@ commands:
cd ${TMPDIR}
tar xvzf *.tar.gz
cd *
cabal v2-build -j2 --dependencies-only --enable-tests --ghc-options="${GHC_OPTS}" all
cabal v2-build -j2 --enable-tests --ghc-options="${GHC_OPTS}" all 2>build.log
cabal v2-build -j2 --dependencies-only --enable-tests --ghc-options="-O0 ${GHC_OPTS}" all
cabal v2-build -j2 --enable-tests --ghc-options="-O0 ${GHC_OPTS}" all 2>build.log
# fail if we had warnings in local build
# this is to work around the fact that cabal v2 doesn't allow
# us to use -Werror for just local build:
# https://github.com/haskell/cabal/issues/4247
! grep -q "warning:" build.log
cabal v2-test --ghc-options="${GHC_OPTS}" 2>build.log
cabal v2-haddock --ghc-options="${GHC_OPTS}"
cabal v2-test --ghc-options="-O0 ${GHC_OPTS}" 2>build.log
cabal v2-haddock --ghc-options="-O0 ${GHC_OPTS}"
cabal check
- *save