@@ -11,25 +11,27 @@ variables:
11
11
12
12
CABAL_INSTALL_VERSION : 3.8.1.0
13
13
14
- .windows_matrix : &windows_matrix
14
+ .matrix : &matrix
15
15
matrix :
16
16
- GHC_VERSION : 8.10.7
17
17
CABAL_PROJECT : cabal.project
18
18
- GHC_VERSION : 9.0.2
19
19
CABAL_PROJECT : cabal.project
20
- - GHC_VERSION : 9.2.3
21
- CABAL_PROJECT : cabal.project
22
20
- GHC_VERSION : 9.2.4
23
21
CABAL_PROJECT : cabal.project
24
- - GHC_VERSION : 9.4.1
22
+ - GHC_VERSION : 9.2.5
25
23
CABAL_PROJECT : cabal.project
26
24
- GHC_VERSION : 9.4.2
27
25
CABAL_PROJECT : cabal.project
26
+ - GHC_VERSION : 9.4.3
27
+ CABAL_PROJECT : cabal.project
28
28
29
29
workflow :
30
30
rules :
31
31
- if : $CI_COMMIT_TAG
32
32
when : always
33
+ - if : $CI_PIPELINE_SOURCE == "web"
34
+ when : always
33
35
- when : never
34
36
35
37
.artifacts :
@@ -47,6 +49,7 @@ workflow:
47
49
.build :
48
50
extends : .artifacts:short
49
51
stage : build
52
+ parallel : *matrix
50
53
script :
51
54
- bash .gitlab/ci.sh
52
55
@@ -75,6 +78,16 @@ workflow:
75
78
- x86_64-linux
76
79
image : " registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
77
80
81
+ .x86_64-linux-ubuntu18.04 :
82
+ tags :
83
+ - x86_64-linux
84
+ image : " ubuntu:18.04"
85
+
86
+ .x86_64-linux-ubuntu20.04 :
87
+ tags :
88
+ - x86_64-linux
89
+ image : " ubuntu:20.04"
90
+
78
91
.x86_64-linux-centos7 :
79
92
tags :
80
93
- x86_64-linux
@@ -163,6 +176,84 @@ test-armv7-linux-deb10:
163
176
- sudo apt install -y tree
164
177
165
178
179
+ # ##########################
180
+ # x86_64 linux ubuntu18.04
181
+ # ##########################
182
+
183
+ build-x86_64-linux-ubuntu18.04 :
184
+ extends :
185
+ - .build
186
+ - .x86_64-linux-ubuntu18.04
187
+ before_script :
188
+ - apt update
189
+ - apt install -y build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 zlib1g-dev patchelf tree
190
+ variables :
191
+ ADD_CABAL_ARGS : " --enable-split-sections"
192
+
193
+ tar-x86_64-linux-ubuntu18.04 :
194
+ extends :
195
+ - .artifacts
196
+ - .x86_64-linux-ubuntu18.04
197
+ stage : tar
198
+ needs : ["build-x86_64-linux-ubuntu18.04"]
199
+ script :
200
+ - ./.gitlab/tar.sh
201
+ variables :
202
+ TARBALL_ARCHIVE_SUFFIX : x86_64-ubuntu18.04-linux
203
+ TARBALL_EXT : tar.xz
204
+ before_script :
205
+ - apt update
206
+ - apt install -y make tar xz-utils curl
207
+
208
+ test-x86_64-linux-ubuntu18.04 :
209
+ extends :
210
+ - .test
211
+ - .x86_64-linux-ubuntu18.04
212
+ needs : ["tar-x86_64-linux-ubuntu18.04"]
213
+ before_script :
214
+ - apt update
215
+ - apt install -y tree patchelf make curl build-essential
216
+
217
+
218
+ # ##########################
219
+ # x86_64 linux ubuntu20.04
220
+ # ##########################
221
+
222
+ build-x86_64-linux-ubuntu20.04 :
223
+ extends :
224
+ - .build
225
+ - .x86_64-linux-ubuntu20.04
226
+ before_script :
227
+ - apt update
228
+ - apt install -y build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 zlib1g-dev patchelf tree
229
+ variables :
230
+ ADD_CABAL_ARGS : " --enable-split-sections"
231
+
232
+ tar-x86_64-linux-ubuntu20.04 :
233
+ extends :
234
+ - .artifacts
235
+ - .x86_64-linux-ubuntu20.04
236
+ stage : tar
237
+ needs : ["build-x86_64-linux-ubuntu20.04"]
238
+ script :
239
+ - ./.gitlab/tar.sh
240
+ variables :
241
+ TARBALL_ARCHIVE_SUFFIX : x86_64-ubuntu20.04-linux
242
+ TARBALL_EXT : tar.xz
243
+ before_script :
244
+ - apt update
245
+ - apt install -y make tar xz-utils curl
246
+
247
+ test-x86_64-linux-ubuntu20.04 :
248
+ extends :
249
+ - .test
250
+ - .x86_64-linux-ubuntu20.04
251
+ needs : ["tar-x86_64-linux-ubuntu20.04"]
252
+ before_script :
253
+ - apt update
254
+ - apt install -y tree patchelf make curl build-essential
255
+
256
+
166
257
# #####################
167
258
# x86_64 linux deb10
168
259
# #####################
@@ -418,73 +509,52 @@ test-x86_64-freebsd13:
418
509
build-x86_64-darwin :
419
510
extends : .build
420
511
tags :
421
- - x86_64-darwin
512
+ - x86_64-darwin-m1
422
513
variables :
423
514
ADD_CABAL_ARGS : " "
424
- before_script :
425
- - /bin/bash ./.gitlab/brew.sh autoconf automake coreutils make tree
515
+ NIX_SYSTEM : x86_64-darwin
426
516
script : |
427
- export PATH="$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
428
517
/bin/bash ./.gitlab/ci.sh
429
- after_script :
430
- - rm -Rf /private/tmp/.brew_tmp
431
518
432
519
tar-x86_64-darwin :
433
520
extends : .artifacts
434
521
stage : tar
435
522
needs : ["build-x86_64-darwin"]
436
523
tags :
437
- - x86_64-darwin
438
- before_script :
439
- - /bin/bash ./.gitlab/brew.sh autoconf automake coreutils make tree
524
+ - x86_64-darwin-m1
440
525
script : |
441
- export PATH="$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
442
526
/bin/bash ./.gitlab/tar.sh
443
- after_script :
444
- - rm -Rf /private/tmp/.brew_tmp
445
527
variables :
446
528
TARBALL_ARCHIVE_SUFFIX : x86_64-apple-darwin
447
529
TARBALL_EXT : tar.xz
530
+ NIX_SYSTEM : x86_64-darwin
448
531
449
532
test-x86_64-darwin :
450
533
extends : .test
451
534
needs : ["tar-x86_64-darwin"]
452
535
tags :
453
- - x86_64-darwin
454
- before_script :
455
- - /bin/bash ./.gitlab/brew.sh make tree
536
+ - x86_64-darwin-m1
456
537
script : |
457
- export PATH="$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
458
538
/bin/bash .gitlab/test.sh
459
- after_script :
460
- - rm -Rf /private/tmp/.brew_tmp
539
+ variables :
540
+ NIX_SYSTEM : x86_64-darwin
461
541
462
542
463
543
# #####################
464
544
# aarch64 darwin
465
545
# #####################
466
546
467
547
build-aarch64-darwin :
468
- extends : .artifacts:short
548
+ extends : .build
469
549
stage : build
470
550
tags :
471
551
- aarch64-darwin-m1
472
- before_script :
473
- - export HOMEBREW_CHANGE_ARCH_TO_ARM=1
474
- - arch -arm64 /bin/bash ./.gitlab/brew.sh llvm autoconf automake coreutils make tree
475
552
script : |
476
- export PATH="$CI_PROJECT_DIR/.brew/opt/llvm/bin:$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
477
- export CC=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang
478
- export CXX=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang++
479
- export LD=ld
480
- export AR=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ar
481
- export RANLIB=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ranlib
482
553
arch -arm64 /bin/bash ./.gitlab/ci.sh
483
- after_script :
484
- - rm -Rf /private/tmp/.brew_tmp
485
554
variables :
486
555
MACOSX_DEPLOYMENT_TARGET : " 10.7"
487
556
ADD_CABAL_ARGS : " "
557
+ NIX_SYSTEM : aarch64-darwin
488
558
489
559
tar-aarch64-darwin :
490
560
extends : .artifacts
@@ -497,20 +567,17 @@ tar-aarch64-darwin:
497
567
variables :
498
568
TARBALL_ARCHIVE_SUFFIX : aarch64-apple-darwin
499
569
TARBALL_EXT : tar.xz
570
+ NIX_SYSTEM : aarch64-darwin
500
571
501
572
test-aarch64-darwin :
502
573
extends : .test
503
574
needs : ["tar-aarch64-darwin"]
504
575
tags :
505
576
- aarch64-darwin-m1
506
- before_script :
507
- - export HOMEBREW_CHANGE_ARCH_TO_ARM=1
508
- - arch -arm64 /bin/bash ./.gitlab/brew.sh make tree
509
577
script : |
510
- export PATH="$CI_PROJECT_DIR/.brew/opt/llvm/bin:$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
511
578
arch -arm64 /bin/bash ./.gitlab/test.sh
512
- after_script :
513
- - rm -Rf /private/tmp/.brew_tmp
579
+ variables :
580
+ NIX_SYSTEM : aarch64-darwin
514
581
515
582
516
583
# #####################
@@ -521,7 +588,6 @@ build-x86_64-windows:
521
588
extends : .build
522
589
tags :
523
590
- new-x86_64-windows
524
- parallel : *windows_matrix
525
591
script :
526
592
- $env:CHERE_INVOKING = "yes"
527
593
- bash '-lc' "ADD_CABAL_ARGS=$env:ADD_CABAL_ARGS GHC_VERSION=$env:GHC_VERSION CABAL_INSTALL_VERSION=$CABAL_INSTALL_VERSION .gitlab/ci.sh"
0 commit comments