Skip to content

Commit e77fef1

Browse files
committed
Make .travis.yml use cabal new-build
For now don't run tests (we need servant-0.10 for that).
1 parent fc403a0 commit e77fef1

File tree

4 files changed

+81
-81
lines changed

4 files changed

+81
-81
lines changed

.travis.yml

Lines changed: 77 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,87 @@
1+
# This Travis job script has been generated by a script via
2+
#
3+
# make_travis_yml_2.hs 'servant-swagger.cabal'
4+
#
5+
# For more information, see https://github.com/hvr/multi-ghc-travis
6+
#
7+
language: c
18
sudo: false
29

3-
addons:
4-
apt:
5-
sources:
6-
- hvr-ghc
7-
packages:
8-
- happy-1.19.5
9-
- libgmp-dev
10+
git:
11+
submodules: false # whether to recursively clone submodules
1012

11-
env:
12-
- STACK_YAML=stack.yaml
13-
- STACK_YAML=stack-ghc-7.8.yaml
14-
- STACK_YAML=stack-ghc-7.10.yaml
13+
cache:
14+
directories:
15+
- $HOME/.cabal/packages
16+
- $HOME/.cabal/store
17+
18+
before_cache:
19+
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
20+
# remove files that are regenerated by 'cabal update'
21+
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.*
22+
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/*.json
23+
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.cache
24+
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar
25+
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar.idx
26+
27+
matrix:
28+
include:
29+
- compiler: "ghc-7.8.4"
30+
env: TEST=--disable-tests BENCH=--disable-benchmarks
31+
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.8.4], sources: [hvr-ghc]}}
32+
- compiler: "ghc-7.10.3"
33+
env: TEST=--disable-tests BENCH=--disable-benchmarks
34+
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.3], sources: [hvr-ghc]}}
35+
- compiler: "ghc-8.0.2"
36+
env: TEST=--disable-tests BENCH=--disable-benchmarks
37+
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.2], sources: [hvr-ghc]}}
1538

1639
before_install:
17-
# Download and unpack the stack executable
18-
- mkdir -p ~/.local/bin
19-
- export PATH=$HOME/.local/bin:/opt/happy/1.19.5/bin:$PATH
20-
- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
21-
- export PATH=~/.local/bin:$PATH
22-
- stack --version
40+
- HC=${CC}
41+
- unset CC
42+
- PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$PATH
43+
- PKGNAME='servant-swagger'
2344

2445
install:
25-
- stack setup
46+
- cabal --version
47+
- echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
48+
- BENCH=${BENCH---enable-benchmarks}
49+
- TEST=${TEST---enable-tests}
50+
- travis_retry cabal update -v
51+
- sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
52+
- rm -fv cabal.project.local
53+
- "echo 'packages: .' > cabal.project"
54+
- rm -f cabal.project.freeze
55+
- cabal new-build -w ${HC} ${TEST} ${BENCH} --dep -j2
56+
- cabal new-build -w ${HC} --disable-tests --disable-benchmarks --dep -j2
2657

58+
# Here starts the actual work to be performed for the package under test;
59+
# any command which exits with a non-zero exit code causes the build to fail.
2760
script:
28-
- stack --no-terminal build --test
61+
- if [ -f configure.ac ]; then autoreconf -i; fi
62+
- rm -rf dist/
63+
- cabal sdist # test that a source-distribution can be generated
64+
- cd dist/
65+
- SRCTAR=(${PKGNAME}-*.tar.gz)
66+
- SRC_BASENAME="${SRCTAR/%.tar.gz}"
67+
- tar -xvf "./$SRC_BASENAME.tar.gz"
68+
- cd "$SRC_BASENAME/"
69+
## from here on, CWD is inside the extracted source-tarball
70+
- rm -fv cabal.project.local
71+
- "echo 'packages: .' > cabal.project"
72+
# this builds all libraries and executables (without tests/benchmarks)
73+
- rm -f cabal.project.freeze
74+
- cabal new-build -w ${HC} --disable-tests --disable-benchmarks
75+
# this builds all libraries and executables (including tests/benchmarks)
76+
# - rm -rf ./dist-newstyle
77+
- cabal new-build -w ${HC} ${TEST} ${BENCH}
2978

30-
cache:
31-
directories:
32-
- $HOME/.stack
79+
# there's no 'cabal new-test' yet, so let's emulate for now
80+
- TESTS=( $(awk 'tolower($0) ~ /^test-suite / { print $2 }' *.cabal) )
81+
- if [ "$TEST" != "--enable-tests" ]; then TESTS=(); fi
82+
- shopt -s globstar;
83+
RC=true; for T in ${TESTS[@]}; do echo "== $T ==";
84+
if dist-newstyle/build/**/$SRC_BASENAME/**/build/$T/$T; then echo "= $T OK =";
85+
else echo "= $T FAILED ="; RC=false; fi; done; $RC
86+
87+
# EOF

servant-swagger.cabal

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ copyright: (c) 2015-2016, Servant contributors
1212
category: Web
1313
build-type: Custom
1414
cabal-version: >=1.10
15+
tested-with:
16+
GHC==7.8.4,
17+
GHC==7.10.3,
18+
GHC==8.0.2
1519
extra-source-files:
1620
README.md
1721
, CHANGELOG.md

stack-ghc-7.10.yaml

Lines changed: 0 additions & 8 deletions
This file was deleted.

stack-ghc-7.8.yaml

Lines changed: 0 additions & 51 deletions
This file was deleted.

0 commit comments

Comments
 (0)