forked from haskell/haskell-ide-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
125 lines (106 loc) · 3.74 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
117
118
119
120
121
122
123
124
125
sudo: false
language: c
os: osx
addons:
homebrew:
packages:
- z3
- stack
- upx
cache:
directories:
- $HOME/.stack
- $HOME/.cabal/
- $TRAVIS_BUILD_DIR/.stack-work
- $TRAVIS_BUILD_DIR/submodules/brittany/.stack-work
- $TRAVIS_BUILD_DIR/submodules/HaRe/.stack-work
- $TRAVIS_BUILD_DIR/submodules/ghc-mod/.stack-work
- $TRAVIS_BUILD_DIR/submodules/ghc-mod/core/.stack-work
- $TRAVIS_BUILD_DIR/submodules/haskell-lsp/.stack-work
- $TRAVIS_BUILD_DIR/submodules/haskell-lsp/haskell-lsp-types/.stack-work
- $TRAVIS_BUILD_DIR/submodules/cabal-helper/.stack-work
- $TRAVIS_BUILD_DIR/hie-plugin-api/.stack-work
timeout: 800
before_cache:
- rm -rf $TRAVIS_BUILD_DIR/.stack-work/logs/
stages:
- setup
- dependencies
- test
- deploy
jobs:
include:
- stage: setup
env: GHC_VER="8.4.4"
script: &setup
- ls .stack-work/install/*/*/*/bin/hie || true
- travis_retry stack --no-terminal --install-ghc --stack-yaml=stack-$GHC_VER.yaml setup
# Build a big package to offload the next stage from doing too much work
- stack --stack-yaml=stack-$GHC_VER.yaml build lens
- stage: setup
env: GHC_VER="8.4.3"
script: *setup
- stage: setup
env: GHC_VER="8.4.2"
script: *setup
- stage: setup
env: GHC_VER="8.2.2"
script: *setup
- stage: dependencies
env: GHC_VER="8.4.4"
script: &dependencies
- travis_retry stack --no-terminal --install-ghc --stack-yaml=stack-$GHC_VER.yaml build --only-dependencies
- stage: dependencies
env: GHC_VER="8.4.3"
script: *dependencies
- stage: dependencies
env: GHC_VER="8.4.2"
script: *dependencies
- stage: dependencies
env: GHC_VER="8.2.2"
script: *dependencies
- stage: test
env: GHC_VER="8.4.4"
script: &test
- stack --no-terminal --stack-yaml=stack-$GHC_VER.yaml install
- stage: test
env: GHC_VER="8.4.3"
script: *test
- stage: test
env: GHC_VER="8.4.2"
script: *test
- stage: test
env: GHC_VER="8.2.2"
script: *test
- stage: deploy
env: GHC_VER="8.4.4"
script: &deploy
- mkdir -p $HOME/hie-macos
- cp .stack-work/install/*/*/$GHC_VER/bin/hie $HOME/hie-macos
- cp .stack-work/install/*/*/$GHC_VER/bin/hie-wrapper $HOME/hie-macos
- upx --best $HOME/hie-macos/hie
- upx --best $HOME/hie-macos/hie-wrapper
- tar czf "hie-$GHC_VER-Darwin.tar.gz" $HOME/hie-macos
deploy: &upload
provider: releases
api_key:
secure: K12xUSzK+VWpnS4gRo04rJjfi71sBi0zuMWKmAcsK1igvmdbsEjyuyX4SxFI58/sM4x5qlyXg/nWSPfECKjpQS7/Q/GG1ub+AjU9kq5iyiWACWjXpDLN9Jz9iLBceyPLaf3y3rswri45v7LdwvMNwSI/wYNKEz97IfJ3VkCR16kWv/cqHGdJUYWZk7lBJX/BL94Bof4zOoXwSiy0GbaSCptcSHm1qwtN1qYsYnmihgLYR0RtLRz6tvBPHmqDjsWAXMDhaEyi0zfZ06igITkm7E4at+c3/wssYfgSg15AT2fd5T+v9keyzyanBzGh9xHYcMmflIA9dAvQawl/vw8sGsnQRaddhmTd0bqKFrtrnMO5dRsbkIyu1r178BQCJVjvy5KqyVpXy1ycDcO17E5qONVr2V838x6eg9uPJBNGR30XMg3ZF+GPsbz0xhzxf2Hhab82pJ+lAAsBlnaPdDNVchs/wjEFMp94hcL+IL4ydaXk91piPVhs3VPsLfGboQ72sUnyPUI2aiKfkk5P4Xug+2UqbX17fXfLgnkRbfyCd/4IeM4IwHgRAKa3tT7017KGSZBShihqe2dDJBjS8MlIxDD+U69HR2TIkAJaDnJe+UFAndoc8w4Ajd2OJ1/C+ey236SZq9R7D3dqyFi6Sxc1kSpNguVmjjvlEUk/Jpz1ckA=
file:
- "hie-$GHC_VER-Darwin.tar.gz"
skip_cleanup: true
draft: true
tag_name: "${TRAVIS_TAG}"
on:
tags: true
- stage: deploy
env: GHC_VER="8.4.3"
script: *deploy
deploy: *upload
- stage: deploy
env: GHC_VER="8.4.2"
script: *deploy
deploy: *upload
- stage: deploy
env: GHC_VER="8.2.2"
script: *deploy
deploy: *upload