-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
.travis.yml
91 lines (82 loc) · 2.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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
dist: bionic
branches:
only:
- master
# Do not choose a language; we provide our own build tools.
language: generic
# Caching so the next build will be fast too.
cache:
directories:
- _build
- $HOME/.cabal
- $HOME/.local/bin
- $HOME/.stack
# Ensure necessary system libraries are present
addons:
apt:
packages:
- colordiff
- libgmp-dev
- qt5-default
before_install:
- sudo add-apt-repository ppa:hvr/ghc -y
- sudo add-apt-repository ppa:hvr/ghcjs -y
- sudo apt-get update -q
- sudo apt-get install npm node-gyp nodejs-dev libssl1.0-dev -y
- sudo apt-get install cabal-install-3.0 ghc-8.4.4 ghcjs-8.4 -y
- export PATH=/opt/ghcjs/8.4/bin:/opt/ghc/bin:$PATH
- cabal update
# Download and unpack the stack executable
- mkdir -p ~/.local/bin
- export PATH=$HOME/.local/bin:$PATH
- >
[ -x ~/.local/bin/stack ]
|| (travis_retry curl -L https://www.stackage.org/stack/linux-x86_64
| tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack')
- export STACK="stack --no-terminal --install-ghc"
- export EXPORTED_PACKAGES="ron ron-rdt ron-schema ron-storage"
- >
function build_deps {
# (cd _build && cmake .. && make) &&
$STACK build --test --only-dependencies
}
script:
# Build the package, its tests, and its docs and run the tests
- test/script
jobs:
include:
- name: GHC 8.10
env: STACK_YAML="ghc-8.10.yaml"
install: build_deps
- name: GHC 8.8
env: STACK_YAML="ghc-8.8.yaml"
install: build_deps
- name: GHC 8.6
env: STACK_YAML="ghc-8.6.yaml"
install: build_deps
- name: GHC 8.4
env: STACK_YAML="ghc-8.4.yaml"
install: build_deps
- name: GHCJS 8.4
script: cabal build --ghcjs --with-compiler=ghcjs all
- name: hlint
install: $STACK build hlint
script: $STACK exec -- hlint .
- name: haddock
script: $STACK haddock --no-haddock-deps $EXPORTED_PACKAGES
- name: 'cabal check'
script:
- (cd ron && cabal check)
- (cd ron-rdt && cabal check)
- (cd ron-schema && cabal check)
- (cd ron-storage && cabal check)
# - (cd swarm && cabal check)
# - name: weeder
# install: $STACK install weeder
# script: $STACK exec -- weeder
# - name: style
# install: $STACK install ormolu
# script: $STACK test --flag=ron-test:style :style
# allow_failures:
# - name: style
# - name: weeder