-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
executable file
·57 lines (49 loc) · 2.28 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
57
# Don't use a specific environment we install everything ourselves.
language: generic
# Don't use sudo so the environment boots faster on travis.
# We can get around sudo, because we are using apt addons to install
# custom packages.
sudo: false
# What environments we want to build for.
matrix:
include:
#- env: GHCVER=7.10.2 CABALVER=1.22 ALEXVER=3.1.4 HAPPYVER=1.19.5
# addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.2,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
- env: GHCVER=7.10.3 CABALVER=1.22 ALEXVER=3.1.4 HAPPYVER=1.19.5
addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.3,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
- env: GHCVER=8.0.2 CABALVER=1.24 ALEXVER=3.1.4 HAPPYVER=1.19.5
addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.2,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
- env: GHCVER=8.2.1 CABALVER=2.0 ALEXVER=3.1.4 HAPPYVER=1.19.5
addons: {apt: {packages: [cabal-install-2.0,ghc-8.2.1,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
- env: GHCVER=8.4.2 CABALVER=2.2 ALEXVER=3.1.4 HAPPYVER=1.19.5
addons: {apt: {packages: [cabal-install-2.2,ghc-8.4.2,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
before_install:
install:
# Setup the path to find the custom installed executables.
- export PATH=$HOME/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:/opt/alex/$ALEXVER/bin:/opt/happy/$HAPPYVER/bin:$PATH
# Update cabal so it can find all of the packages that are required.
- travis_retry cabal update
before_script:
# Work in a sandbox
- cabal sandbox init
# Setup the library dependency of the ebba-example
- git clone https://github.com/glutamate/gnewplot.git ./examples/arrow/ebba/gnewplot
- cabal sandbox add-source ./examples/arrow/ebba/gnewplot
script:
# Print version information
- ghc --version
- cabal --version
- alex --version
- happy --version
# Build the supermonad library.
# According to travis documentation we can use 2 cores:
# https://docs.travis-ci.com/user/ci-environment/#Overview
- cabal install -j2
# Find the example directories that contain a cabal project and builds them in the current context.
- find ./examples -type f -iname '*.cabal' -exec dirname {} \; | xargs -n1 cabal install -j2
notifications:
email: true
branches:
only:
- master
- dev