forked from nikita-volkov/text-builder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
56 lines (53 loc) · 1.44 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
if: tag IS blank
env:
- ghc=8.2.2
- ghc=8.4.2
- ghc=8.6.1
- ghc=8.8.1
- ghc=8.10.2 benchmarks=1 tests=1
- ghc=9.0.1
install:
# Set up the Shell to treat the semicolon as &&
- set -eo pipefail
# Install GHC and Cabal
-
cabal=${cabal=2.4};
travis_retry sudo add-apt-repository -y ppa:hvr/ghc;
travis_retry sudo apt-get update;
travis_retry sudo apt-get install cabal-install-$cabal ghc-$ghc;
export PATH=/opt/ghc/$ghc/bin:/opt/cabal/$cabal/bin:$PATH;
# Update the Cabal database
- cabal update
# Switch to the distro:
-
export pkg_name=$(cabal info . | awk '{print $2;exit}');
cabal sdist;
cd dist;
tar xzvf $pkg_name.tar.gz;
cd $pkg_name;
# Install the lower bound dependencies
-
if [ "$lower_bound_dependencies" = "1" ];
then
constraint_options=(
);
fi;
# Install the library dependencies
- cabal v1-install --only-dependencies --reorder-goals --force-reinstalls
${constraint_options[@]}
$([ "$tests" = "1" ] && echo "--enable-tests")
$([ "$benchmarks" = "1" ] && echo "--enable-benchmarks")
# Build the library
- cabal v1-build
# Configure and build the remaining stuff
- cabal v1-configure
$([ "$tests" = "1" ] && echo "--enable-tests")
$([ "$benchmarks" = "1" ] && echo "--enable-benchmarks")
-f doctest
- cabal v1-build
script:
- |
if [ "$tests" = "1" ];
then
cabal v1-test --show-details=always;
fi;