-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path.travis.yml
116 lines (109 loc) · 3.21 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
---
sudo: false
cache:
directories:
- $HOME/.stack
- $HOME/.madlang
- $HOME/.ghc
- $HOME/.cabal
addons:
apt:
packages:
- libgmp3-dev
matrix:
include:
# Linux
- env: TARGET=x86_64-unkown-linux-gnu
addons:
apt:
sources:
- hvr-ghc
packages:
- ghc-8.4.1
- cabal-install-head
language: python
# OS X
- env: TARGET=x86_64-apple-darwin
os: osx
language: default
before_install:
- mkdir -p ~/.local/bin
- export PATH=/opt/ghc/bin:$PATH
- export PATH=$HOME/.local/bin:$PATH
- |
if [ `uname` = "Darwin" ]
then
curl --insecure -L https://www.stackage.org/stack/osx-x86_64 | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin
else
curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
fi
- chmod a+x ~/.local/bin/stack
- |
if [ `uname` = "Linux" ]
then
pip install yamllint
cabal update
else
echo "skipping yaml verification..."
fi
install:
- stack --no-terminal --install-ghc test --only-dependencies
script:
- |
if [ `uname` = "Linux" ]
then
yamllint stack.yaml
yamllint appveyor.yml
yamllint .travis.yml
yamllint .hlint.yaml
yamllint .stylish-haskell.yaml
yamllint .weeder.yaml
yamllint .yamllint
cabal check
else
echo 'skipping checks...'
fi
- |
if [ `uname` = "Linux" ]
then
cabal new-build
cabal new-test
stack --no-terminal build --haddock --no-haddock-deps --copy-bins --test --no-run-tests --bench --no-run-benchmarks
else
stack --no-terminal build --haddock --no-haddock-deps --copy-bins
stack test --no-terminal
stack bench --no-terminal --no-run-benchmarks
fi
- |
if [ `uname` = "Linux" ]
then
curl -sL https://raw.github.com/ndmitchell/hlint/master/misc/travis.sh | sh -s src app bench test Setup.hs
curl -sL https://raw.github.com/ndmitchell/weeder/master/misc/travis.sh | sh -s .
else
echo 'skipping hlint/weeder...'
fi
# - madlang install
# - madlang run demo/example.mad
- |
if [ `uname` = "Darwin" ]
then
export BINPATH="$(find . -name madlang -perm 755 | tail -n1)"
else
export BINPATH="$(find dist-newstyle -name madlang -executable | head -n2 | tail -n1)"
fi
# - find dist-newstyle -name madlang -executable
- mv $BINPATH madlang-$TARGET
- ls madlang-$TARGET
- strip madlang-$TARGET
deploy:
api_key:
secure: "NeVULHPFKjRIvwrY1ewVXZo/LOKihKs1FQh2QU+s7jwgfT/d82cgQqmj0FJzT/cHmIkL+KhSJY5Nb+7kiwSyhH1qBCI3qNmGCkZ1oQsvosLnBu/s/nVhZ6CspbGTt3SxuumK0dRYyLDrKg4x4mFL/1QYU4bwr0N1moz3HZeI3Il0tu8Demse604hrMtCfAcs7uhaq+UN4y6hlBnWRgJup7fUrVgkihUQ+LQgOm1BeqozELjuRbgwJOuro3JdWYgLMTTF62+eQsMdYBUIJ6j3hpQ/YOjCankute/wHfGbbMOHsa5HLkSqhPMq8UB62potbKgLDC4C1P4q++i9mzgA6vwF/r42CQAwd05g/zuE4yjtNgMwjrS6gKuzONRFXMj1Dqm/AQFsnI8ecjHVm5Qh624xoskWZGm8L7gIeFPAhfngrhZZ+DJkEiHkmoGWigyiB9RO3m8nRaSDLyEZL733mnS+ufLjaUGXBoVymbx43wVbx91+4ZZgaSk7KkXOQlLSQx1/HyNPD/TL+LbrX0V4QI7zNcjgMEUmwnGV66H/diw2Hsg+OyS7rEA9QrEiLX5N/jQd9pw32WxqX5CgcoouRd1hgcIjq8b4koX+PXiz+GmjmbBNiJovV4saZpFHnsPEeTKZqkEp6bgMfHn9xPgObrT4fnCJUHozi6Txxfdv8Tc="
file: madlang-$TARGET
on:
tags: true
provider: releases
skip_cleanup: true
branches:
only:
- /\d+\.\d+\.\d+\.\d+.*$/
- master