Skip to content

Commit 1454b7b

Browse files
authored
Merge pull request #1152 from pepeiborra/circleci
Streamline CircleCI jobs
2 parents 44ea5a5 + 9c4b5f7 commit 1454b7b

File tree

1 file changed

+2
-73
lines changed

1 file changed

+2
-73
lines changed

.circleci/config.yml

Lines changed: 2 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@ defaults: &defaults
44
- image: alanz/haskell-hie-ci
55
steps:
66
- checkout
7-
- run:
8-
command: git submodule sync --recursive
9-
- run:
10-
command: git submodule update --recursive --init
117
- run:
128
name: Write provided stack.yaml with predictable name
139
command: cp ${STACK_FILE} stack-build.txt
@@ -56,13 +52,6 @@ defaults: &defaults
5652
- ~/build/.stack-work
5753
- ~/build/ghcide/.stack-work
5854

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-
6655
- run:
6756
name: Setup stack eval hie.html
6857
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
7261
command: grep '^resolver:\|^compiler:' stack-build.txt > plugins/hls-eval-plugin/test/testdata/stack.yaml
7362

7463
- 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
8166
no_output_timeout: 120m
8267

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-
9968
- save_cache:
10069
key: stack-cache-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "stack-build.txt" }}-{{ checksum "all-cabal.txt" }}
10170
paths: *cache_paths
@@ -147,45 +116,6 @@ jobs:
147116
- STACK_FILE: "stack.yaml"
148117
<<: *defaults
149118

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
189119

190120
workflows:
191121
version: 2
@@ -200,4 +130,3 @@ workflows:
200130
- ghc-8.10.2
201131
- ghc-8.10.3
202132
- ghc-default
203-
- cabal

0 commit comments

Comments
 (0)