@@ -4,10 +4,6 @@ defaults: &defaults
4
4
- image : alanz/haskell-hie-ci
5
5
steps :
6
6
- checkout
7
- - run :
8
- command : git submodule sync --recursive
9
- - run :
10
- command : git submodule update --recursive --init
11
7
- run :
12
8
name : Write provided stack.yaml with predictable name
13
9
command : cp ${STACK_FILE} stack-build.txt
@@ -56,13 +52,6 @@ defaults: &defaults
56
52
- ~/build/.stack-work
57
53
- ~/build/ghcide/.stack-work
58
54
59
- - run :
60
- name : Test ghcide
61
- # Tests MUST run with -j1, since multiple ghc-mod sessions are not allowed
62
- # command: stack -j 1 --stack-yaml=${STACK_FILE} test ghcide --dump-logs
63
- command : echo "ghcide tests disabled until they got fixed, see https://github.com/mpickering/ghcide/issues/25"
64
- no_output_timeout : 120m
65
-
66
55
- run :
67
56
name : Setup stack eval hie.html
68
57
command : cp plugins/hls-eval-plugin/test/testdata/hie-stack.yaml plugins/hls-eval-plugin/test/testdata/hie.yaml
@@ -72,30 +61,10 @@ defaults: &defaults
72
61
command : grep '^resolver:\|^compiler:' stack-build.txt > plugins/hls-eval-plugin/test/testdata/stack.yaml
73
62
74
63
- run :
75
- name : Test haskell-language-server func-test suite
76
- # Tasty by default will run all the tests in parallel. Which should
77
- # work ok, but given that these CircleCI runners aren't the beefiest
78
- # machine can cause some flakiness. So pass -j1 to Tasty (NOT Stack) to
79
- # tell it to go slow and steady.
80
- command : stack --stack-yaml=${STACK_FILE} test haskell-language-server:func-test --dump-logs --test-arguments="-j1 --rerun-update" || stack --stack-yaml=${STACK_FILE} test haskell-language-server:func-test --dump-logs --test-arguments="-j1 --rerun" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true stack --stack-yaml=${STACK_FILE} test haskell-language-server:func-test --dump-logs --test-arguments="-j1 --rerun"
64
+ name : Build including tests
65
+ command : stack --stack-yaml=${STACK_FILE} test --no-run-tests
81
66
no_output_timeout : 120m
82
67
83
- - run :
84
- name : Test haskell-language-server wrapper-test suite
85
- command : stack --stack-yaml=${STACK_FILE} test haskell-language-server:wrapper-test --dump-logs --test-arguments="-j1" || stack --stack-yaml=${STACK_FILE} test haskell-language-server:wrapper-test --dump-logs --test-arguments="-j1"
86
- no_output_timeout : 30m
87
-
88
- - run :
89
- name : Test hls-tactics-plugin
90
- command : stack --stack-yaml=${STACK_FILE} test hls-tactics-plugin:test:tests --dump-logs --test-arguments="-j1"
91
- no_output_timeout : 30m
92
-
93
- - store_test_results :
94
- path : test-results
95
-
96
- - store_artifacts :
97
- path : test-logs
98
-
99
68
- save_cache :
100
69
key : stack-cache-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "stack-build.txt" }}-{{ checksum "all-cabal.txt" }}
101
70
paths : *cache_paths
@@ -147,45 +116,6 @@ jobs:
147
116
- STACK_FILE : " stack.yaml"
148
117
<< : *defaults
149
118
150
- cabal :
151
- working_directory : ~/build
152
- docker :
153
- # We have to wait to a docker image with ghc-8.10.3
154
- # See https://github.com/haskell/docker-haskell/issues/31
155
- - image : haskell:8.10.2
156
- steps :
157
- - checkout
158
- - run :
159
- name : Sync submodules
160
- command : git submodule sync --recursive
161
- - run :
162
- name : Update submodules
163
- command : git submodule update --recursive --init
164
- - restore-cache :
165
- keys :
166
- - cabal-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
167
- - run :
168
- name : Update
169
- command : cabal new-update
170
- - run :
171
- name : Configure
172
- command : cabal new-configure --enable-tests
173
- - run :
174
- name : Build dependencies
175
- command : cabal new-build -j1 --dependencies-only # need j1, else ghc-lib-parser triggers OOM
176
- no_output_timeout : 30m
177
- - save_cache :
178
- key : cabal-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
179
- paths :
180
- - ~/.cabal
181
- - run :
182
- name : Build
183
- command : cabal new-build -j1 # need j1, else ghc-lib-parser triggers OOM
184
- no_output_timeout : 30m
185
- - save_cache :
186
- key : cabal-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
187
- paths :
188
- - ~/.cabal
189
119
190
120
workflows :
191
121
version : 2
@@ -200,4 +130,3 @@ workflows:
200
130
- ghc-8.10.2
201
131
- ghc-8.10.3
202
132
- ghc-default
203
- - cabal
0 commit comments