-
Notifications
You must be signed in to change notification settings - Fork 28
/
.travis.yml
116 lines (116 loc) · 4.77 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
dist: trusty
sudo: false
language: c
matrix:
include:
- os: osx
osx_image: xcode8.3
- addons:
apt:
sources: [hvr-ghc, deadsnakes]
packages:
- ghc-8.0.2
- python2.7
- python3.4
- python3.5
- python3.6
- libgmp10
- upx-ucl
env:
- PIP_MINVER=9.0.1 SETUPTOOLS_MINVER=36.6.0
cache:
directories:
- "$HOME/.cabal"
- "$HOME/.stack"
- "$HOME/.ghc"
- "$HOME/Library/Caches/Homebrew"
before_install:
- mkdir -p "$HOME/.local/bin"
- export PATH="$HOME/.local/bin:$PATH"
- |
if [[ "$TRAVIS_OS_NAME" = "linux" ]]
then
curl -o "$HOME/.local/bin/checkmate" \
-L https://github.com/spoqa/checkmate/releases/download/0.3.2/checkmate-linux-x86_64
chmod +x "$HOME/.local/bin/checkmate"
checkmate --help
token_encoded='gJvdss03HpHm1tCqhziBezjVi8Y='
token="$(echo $token_encoded | python -m base64 -d | xxd -pu)"
checkmate github-travis --token "$token"
fi
- |
if [[ "$TRAVIS_OS_NAME" = "osx" ]]
then
travis_retry curl -L https://www.stackage.org/stack/$TRAVIS_OS_NAME-x86_64 | tar xz --strip-components=1 --include '*/stack' -C "$HOME/.local/bin"
else
travis_retry curl -L https://www.stackage.org/stack/$TRAVIS_OS_NAME-x86_64 | tar xz --wildcards --strip-components=1 -C "$HOME/.local/bin" '*/stack'
fi
- |
if [[ "$TRAVIS_OS_NAME" = "osx" ]]
then
brew update || true
brew upgrade || true
brew update || true
brew tap dahlia/homebrew-deadsnakes
brew install python34 python35 python3 || \
brew upgrade python34 python35 python3 || \
true
pip3 install --upgrade pip setuptools
fi
- curl -o "$HOME/.local/bin/travis_long" -L https://raw.githubusercontent.com/futurice/fum2github/master/travis_long
- chmod +x "$HOME/.local/bin/travis_long"
install:
- |
if python3 -c "import pip"; then
python3 -m pip install --user -U setuptools
python3 -m pip install --user -U "pip>=$PIP_MINVER"
else
if ! python3 -c "import setuptools"; then
pushd /tmp
curl -L "https://github.com/pypa/setuptools/archive/v$SETUPTOOLS_MINVER.tar.gz" | tar xvfz -
cd setuptools-*/
python3 bootstrap.py
python3 setup.py install --user
popd
fi
python3 -m easy_install --user -U "setuptools>=$SETUPTOOLS_MINVER"
python3 -m easy_install --user -U "pip>=$PIP_MINVER"
fi
- python3 -m pip install --user --upgrade tox
- travis_long stack --no-terminal setup
- travis_long stack --no-terminal install scan -j4
- travis_long stack --no-terminal install -j4 --only-dependencies
script:
- 'TOX="$(which tox)" stack --no-terminal test -j4 --coverage'
- ./lint.sh
after_script:
- stack install --install-ghc --no-terminal codecov-haskell
- codecov-haskell Main
before_deploy:
- stack build --no-terminal --copy-bins
- mkdir -p /tmp/nirum-build
- export NIGHTLY_BINARY_PATH="/tmp/nirum-build/nirum-$(uname -s | tr '[A-Z]' '[a-z]')-$(uname -m)"
- cp "$(stack path --local-bin-path)/nirum-static" "$NIGHTLY_BINARY_PATH"
- |
if [[ "$TRAVIS_OS_NAME" = "linux" ]]
then
upx-ucl -9 "$NIGHTLY_BINARY_PATH"
fi
notifications:
webhooks:
urls: ['https://webhooks.gitter.im/e/29cc2477daa438db4e9d']
on_success: change
on_failure: always
on_start: never
deploy:
- provider: s3
local_dir: /tmp/nirum-build
on:
branch: master
upload-dir: travis-builds
acl: public_read
bucket: nightly-builds.nirum.org
access_key_id:
secure: "lqNHSWpskIWHBZdeUsT1LpUBnDv88vEdSwCX2vY+3hbspB2dEoeyxrQ3ObyHBvxizuxHC+wBKdCfpEUj9CuZTSZDuS0gbuks46IH5az5SmFFDRk/pq+5sSBte070YQfrJCEgFTiEww8LZCVjjySEqez0f1pQV4ZSmy8u8ME2PzF1jQdGZIUB/e3v7JAjhK3nKh2kt2YnEdscHngbmRaDkcpEmbia8fP9a9sRc9n4dG5m0/3vtuZJcUqrJzdqMfluwz9lOSWIjSCE3iClSrH0xrS1b4wIgEa2j5iHgayRwQ2MZN41+nhs+jG18FkSyHqdtZwLGZu8UdW7dQqIaPkk26yFBpHvKESJghh4HGKiijcVw4RNJmgJDpdmCrPU1awAvGdT8CXcbwr/9sqPfKgr1F79xn/7PDe6Nd3GXVRJRkV+g7GhSOCFcjBvEzbq4jmRI8Oo4GnyU0H3Kmgk2OyU0Yhq413cLEVcswyDBSjK+ItQQ/wQZgWL1+Vjh/MQbkESRpkRJK6Oq2y0nYhG/ajIXDuva623MNSaLU42/wku8r//bdbsguNEyncNzWcDwtfGBdyOD8GTLKtJD1tCSTH68b7isDjI/MDmCIay9hgCk/l8pBZgn89jLUDfiqH/ZgQduwKPYUUPUuBUv4YQg7bHeZk2NQSWWGsAfpZ5v9L1qUw="
secret_access_key:
secure: "HUxq2kPTnu3rSq+T7lZoUY4LsvIHjMcapxi5R50gE6pKUIJqJ6ekwB0fP6ge6S6ea3chpAi06oy7tGB4IiTtjUX6L+gOkrFACrWQqVsOvbyMh79oRTVPLY7RTXcDhSmSesChP06oxG2k17u7Agdf5jNfaVH8aOH4xAuBaAYWPTqkIwerGqQHj7oHUGImtu0FDS1ZxL28XiGjONoT2cpoaYT5pzV8KlETe5+ZAr/mxQYHgxt8wzev0pJY6UeBPARiPa1+txEK36AMrHEQHMInZcqgds05T0qX+UF326xlLuFP7soYGRh+mfnvCEx3+hcneX8wJYbaUwpmDrbcCcm91+TUlEWWV3xIXmGHedi0pIvgzH7vapOdzox6MpHGoLJsrRXpHEhMwLMcq0tMbyjcTQjOba2VKRg8hqUBT57oI9Hgpp8wdFnH5EV5GPSOhZ5s4w+PglifEqtqmYHA7PNc5I5iHLXC85UKee+FMQF7hp4heLVQZx541FL7eMYZo2bTOyxTEGMjoxemwN5yHPQ33k7VOKvYLHNX0SxasQme8DwOZbj1ozsWdSPqyArisW0CqXyjFpIm5hPx+gBH1gRXp0hJoyYRBKTrfTxPzFsO5Sf0VfDJC/1UZmzgNULjFdZUdv9/x7O4+Euo1wy/kcngmYbOqqBD3zKm8XcDqwkoAA4="