on master help sign in
Move travis builds to circle ci
commit906a07ea5bab5e34fed21c6b97201f269c5d3fbd authorpranaysashank <pranaysashank@composewell.com> dateThu 12 Nov 2020, 20:33 (6 years ago) parentb339cf8
1 file changed+179−33
.circleci/config.yml+179−33
.circleci/config.yml+179−33
@@ -1,4 +1,4 @@
1−version: 2
1+version: 2.1
22
33#-----------------------------------------------------------------------------
44# packcheck-0.4.2
@@ -18,11 +18,11 @@ env: &env
1818 # What to build
1919 # ------------------------------------------------------------------------
2020 # DISABLE_TEST: "y"
21− DISABLE_BENCH: "y"
22− DISABLE_DOCS: "y"
23− DISABLE_SDIST_BUILD: "y"
24− DISABLE_DIST_CHECKS: "y"
25− # ENABLE_INSTALL: "y"
21+ # DISABLE_BENCH: "y"
22+ # DISABLE_DOCS: "y"
23+ # DISABLE_SDIST_BUILD: "y"
24+ # DISABLE_DIST_CHECKS: "y"
25+ ENABLE_INSTALL: "y"
2626
2727 # ------------------------------------------------------------------------
2828 # stack options
@@ -31,7 +31,7 @@ env: &env
3131 # github API limit while checking and upgrading/downgrading to the specific
3232 # version.
3333 #STACKVER: "1.6.5"
34− #STACK_UPGRADE: "y"
34+ STACK_UPGRADE: "y"
3535 #RESOLVER: "lts-12"
3636
3737 # ------------------------------------------------------------------------
@@ -44,8 +44,8 @@ env: &env
4444 # ------------------------------------------------------------------------
4545 # Where to find the required tools
4646 # ------------------------------------------------------------------------
47− PATH: /opt/ghc/bin:/sbin:/usr/sbin:/bin:/usr/bin
48− #TOOLS_DIR: /opt
47+ PATH: /opt/ghc/bin:/opt/ghcjs/bin:/sbin:/usr/sbin:/bin:/usr/bin
48+ TOOLS_DIR: /opt
4949
5050 # ------------------------------------------------------------------------
5151 # Location of packcheck.sh (the shell script invoked to perform CI tests ).
@@ -60,8 +60,13 @@ env: &env
6060 PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/harendra-kumar/packcheck"
6161 PACKCHECK_GITHUB_COMMIT: "563702bd02c41343dcd3dfcfef0845ca428a9240"
6262
63+executors:
64+ amd64-executor:
6365 docker:
64− - image: debian:stretch
66+ - image: ubuntu:xenial
67+ x86-executor:
68+ docker:
69+ - image: i386/ubuntu:eoan
6570
6671#-----------------------------------------------------------------------------
6772# Common utility stuff, not to be modified usually
@@ -73,11 +78,18 @@ preinstall: &preinstall
7378 # required for https/cache save and restore
7479 apt-get install -y ca-certificates
7580
76− # For ghc and cabal-install packages from haskell.org
81+ # required to (re)generate the configure script
82+ apt-get install -y autoconf
83+
84+ # For ghc and cabal-install packages from hvr's ppa
7785 # gnupg is required for apt-key to work
7886 apt-get install -y gnupg
87+ apt-get install -y apt-transport-https
7988 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA3CBA3FFE22B574
80− echo "deb http://downloads.haskell.org/debian stretch main" >> /etc/apt/sources.list
89+ apt-get install -y software-properties-common
90+ add-apt-repository -y ppa:hvr/ghc
91+ # echo "deb http://downloads.haskell.org/debian stretch main" >> /etc/apt/sources.list
92+ echo "deb-src http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main" >> /etc/apt/sources.list
8193 apt-get update
8294
8395 # required for packcheck
@@ -115,8 +127,27 @@ save: &save
115127#-----------------------------------------------------------------------------
116128
117129jobs:
118− cabal-ghc-8.6.5:
130+ stack-ghc-8_8:
131+ <<: *env
132+ executor: amd64-executor
133+ steps:
134+ - checkout
135+ - *preinstall
136+ - *restore
137+ - run:
138+ name: GHC 8.8 + stack lts-16.12
139+ environment:
140+ BUILD: "stack"
141+ RESOLVER: "lts-16.12"
142+ SDIST_OPTIONS: "--ignore-check"
143+ command: |
144+ apt-get build-dep -y ghc-8.8.4
145+ apt-get install -y cabal-install-3.2
146+ bash -c "$PACKCHECK $BUILD"
147+ - *save
148+ cabal-ghc-8_6_5:
119149 <<: *env
150+ executor: amd64-executor
120151 steps:
121152 - checkout
122153 - *preinstall
@@ -126,42 +157,67 @@ jobs:
126157 apt-get install -y cabal-install-2.4
127158 bash -c "$PACKCHECK cabal-v2"
128159 - *save
129− cabal-ghc-8.4.4:
160+ cabal-ghc-8_4_4:
130161 <<: *env
162+ executor: x86-executor
131163 steps:
132164 - checkout
133165 - *preinstall
134166 - *restore
135− - run: |
167+ - run:
168+ name: GHC 8.4.4 + x86 + debug
169+ environment:
170+ BUILD: "cabal-v2"
171+ GHCVER: "8.4.4"
172+ CABAL_BUILD_OPTIONS: "--flag debug"
173+ command: |
136174 apt-get install -y ghc-8.4.4
137− apt-get install -y cabal-install-2.4
138− bash -c "$PACKCHECK cabal-v2"
175+ apt-get install -y cabal-install-3.2
176+ bash -c "$PACKCHECK $BUILD"
139177 - *save
140− cabal-ghc-8.2.2:
178+ cabal-ghc-8_2_2:
141179 <<: *env
180+ executor: amd64-executor
142181 steps:
143182 - checkout
144183 - *preinstall
145184 - *restore
146− - run: |
185+ - run:
186+ environment:
187+ BUILD: "cabal-v2"
188+ DISABLE_TEST: "yes"
189+ DISABLE_BENCH: "yes"
190+ DISABLE_DOCS: "yes"
191+ DISABLE_SDIST_BUILD: "yes"
192+ DISABLE_DIST_CHECKS: "yes"
193+ command: |
147194 apt-get install -y ghc-8.2.2
148195 apt-get install -y cabal-install-3.2
149− apt-get install libtinfo-dev
150− bash -c "$PACKCHECK cabal-v2"
196+ bash -c "$PACKCHECK $BUILD"
151197 - *save
152− cabal-ghc-8.0.2:
198+ cabal-ghc-8_0_2:
153199 <<: *env
200+ executor: amd64-executor
154201 steps:
155202 - checkout
156203 - *preinstall
157204 - *restore
158− - run: |
205+ - run:
206+ environment:
207+ BUILD: "cabal-v2"
208+ DISABLE_TEST: "yes"
209+ DISABLE_BENCH: "yes"
210+ DISABLE_DOCS: "yes"
211+ DISABLE_SDIST_BUILD: "yes"
212+ DISABLE_DIST_CHECKS: "yes"
213+ command: |
159214 apt-get install -y ghc-8.0.2
160− apt-get install -y cabal-install-2.4
161− bash -c "$PACKCHECK cabal-v2"
215+ apt-get install -y cabal-install-3.2
216+ bash -c "$PACKCHECK $BUILD"
162217 - *save
163− cabal-ghc-7.10.3:
218+ cabal-ghc-7_10_3:
164219 <<: *env
220+ executor: amd64-executor
165221 steps:
166222 - checkout
167223 - *preinstall
@@ -171,8 +227,9 @@ jobs:
171227 apt-get install -y cabal-install-2.4
172228 bash -c "$PACKCHECK cabal-v2"
173229 - *save
174− stack-ghc-8.4:
230+ stack-ghc-8_4:
175231 <<: *env
232+ executor: amd64-executor
176233 steps:
177234 - checkout
178235 - *preinstall
@@ -180,8 +237,9 @@ jobs:
180237 - run: |
181238 bash -c "$PACKCHECK stack RESOLVER=lts-12"
182239 - *save
183− stack-ghc-8.2:
240+ stack-ghc-8_2:
184241 <<: *env
242+ executor: amd64-executor
185243 steps:
186244 - checkout
187245 - *preinstall
@@ -189,8 +247,35 @@ jobs:
189247 - run: |
190248 bash -c "$PACKCHECK stack RESOLVER=lts-11"
191249 - *save
192− coveralls-ghc-8.2.2:
250+ cabal-ghcjs-8_4:
251+ <<: *env
252+ executor: amd64-executor
253+ steps:
254+ - checkout
255+ - *preinstall
256+ - *restore
257+ - run:
258+ name: GHCJS 8.4+no-test+no-docs
259+ environment:
260+ BUILD: cabal-v2
261+ ENABLE_GHCJS: "yes"
262+ DISABLE_TEST: "yes"
263+ ENABLE_INSTALL: ""
264+ DISABLE_DOCS: "yes"
265+ DISABLE_SDIST_BUILD: "yes"
266+ command: |
267+ add-apt-repository -y ppa:hvr/ghcjs
268+ add-apt-repository -y 'deb https://deb.nodesource.com/node_11.x xenial main'
269+ curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
270+ apt-get update
271+ apt-get install -y cabal-install-3.2
272+ apt-get install -y nodejs
273+ apt-get install -y ghcjs-8.4
274+ bash -c "$PACKCHECK $BUILD"
275+ - *save
276+ coveralls-ghc-8_2_2:
193277 <<: *env
278+ executor: amd64-executor
194279 steps:
195280 - checkout
196281 - *preinstall
@@ -209,8 +294,9 @@ jobs:
209294 apt-get install libtinfo-dev
210295 bash -c "$PACKCHECK cabal-v1"
211296 - *save
212− coveralls-ghc-8.8.3:
297+ coveralls-ghc-8_8_3:
213298 <<: *env
299+ executor: amd64-executor
214300 steps:
215301 - checkout
216302 - *preinstall
@@ -231,17 +317,77 @@ jobs:
231317 bash -c "$PACKCHECK cabal-v2"
232318 no_output_timeout: 25m
233319 - *save
320+ coveralls-ghc-8_10_2:
321+ <<: *env
322+ executor: amd64-executor
323+ steps:
324+ - checkout
325+ - *preinstall
326+ - *restore
327+ - run:
328+ name: Build and test with inspection, coverage, Werror
329+ environment:
330+ BUILD: "cabal-v2"
331+ COVERALLS_OPTIONS: "--repo-token=\"$REPO_TOKEN\" --coverage-mode=StrictlyFullLines --exclude-dir=test"
332+ CABAL_PROJECT: "cabal.project.coverage"
333+ command: |
334+ apt-get install -y ghc-8.10.2
335+ apt-get install -y cabal-install-3.2
336+ # required by hpc-coveralls
337+ apt-get install -y libcurl4-gnutls-dev
338+ apt-get install -y git
339+ apt-get install libtinfo-dev
340+ bash -c "$PACKCHECK $BUILD"
341+ no_output_timeout: 25m
342+ - *save
343+ hlint-src:
344+ <<: *env
345+ executor: amd64-executor
346+ steps:
347+ - checkout
348+ - *preinstall
349+ - *restore
350+ - run:
351+ name: Hlint src
352+ environment:
353+ BUILD: cabal-v2
354+ HLINT_OPTIONS: lint
355+ HLINT_TARGETS: src
356+ command: |
357+ bash -c "$PACKCHECK $BUILD"
358+ - *save
359+ hlint-test-benchmarks:
360+ <<: *env
361+ executor: amd64-executor
362+ steps:
363+ - checkout
364+ - *preinstall
365+ - *restore
366+ - run:
367+ name: Hlint tests and benchmarks
368+ environment:
369+ BUILD: cabal-v2
370+ HLINT_OPTIONS: lint
371+ HLINT_TARGETS: test benchmarks
372+ command: |
373+ bash -c "$PACKCHECK $BUILD"
374+ - *save
234375
235376workflows:
236377 version: 2
237378 build:
238379 jobs:
239380 #- cabal-ghc-8.6.5
240− #- cabal-ghc-8.4.4
241− - cabal-ghc-8.2.2
242− #- cabal-ghc-8.0.2
381+ - cabal-ghc-8_4_4
382+ - cabal-ghc-8_2_2
383+ - cabal-ghc-8_0_2
243384 #- cabal-ghc-7.10.3
385+ - cabal-ghcjs-8_4
386+ - stack-ghc-8_8
244387 #- stack-ghc-8.4
245388 #- stack-ghc-8.2
246389 #- coveralls-ghc-8.2.2
247390 #- coveralls-ghc-8.8.3
391+ - coveralls-ghc-8_10_2
392+ - hlint-src
393+ - hlint-test-benchmarks