14
14
ghc_targets :
15
15
type : string
16
16
default : " install_bin install_lib update_package_db"
17
+ gmp :
18
+ type : string
19
+ default : 6.3.0
17
20
cabal :
18
21
type : string
19
22
default : 3.14.2.0
22
25
GHC_VERSION : ${{ inputs.ghc }}
23
26
GHC_TARGETS : ${{ inputs.ghc_targets }}
24
27
CABAL_VERSION : ${{ inputs.cabal }}
28
+ GMP_VERSION : ${{ inputs.gmp }}
25
29
DEBIAN_FRONTEND : noninteractive
26
30
TZ : Asia/Singapore
27
31
@@ -60,89 +64,19 @@ jobs:
60
64
fail-fast : false
61
65
matrix :
62
66
branch : ${{ fromJSON(inputs.branches) }}
63
- platform : [ { image: "debian:11"
64
- , installCmd: "apt-get update && apt-get install -y"
65
- , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
66
- , DISTRO: "Debian"
67
- , ARTIFACT: "x86_64-linux-deb11"
68
- , ADD_CABAL_ARGS: "--enable-split-sections"
69
- },
70
- { image: "debian:12"
71
- , installCmd: "apt-get update && apt-get install -y"
72
- , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
73
- , DISTRO: "Debian"
74
- , ARTIFACT: "x86_64-linux-deb12"
75
- , ADD_CABAL_ARGS: "--enable-split-sections"
76
- },
77
- { image: "ubuntu:20.04"
78
- , installCmd: "apt-get update && apt-get install -y"
79
- , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
80
- , DISTRO: "Ubuntu"
81
- , ARTIFACT: "x86_64-linux-ubuntu20.04"
82
- , ADD_CABAL_ARGS: "--enable-split-sections"
83
- },
84
- { image: "ubuntu:22.04"
85
- , installCmd: "apt-get update && apt-get install -y"
86
- , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
87
- , DISTRO: "Ubuntu"
88
- , ARTIFACT: "x86_64-linux-ubuntu22.04"
89
- , ADD_CABAL_ARGS: "--enable-split-sections"
90
- },
91
- { image: "ubuntu:24.04"
92
- , installCmd: "apt-get update && apt-get install -y"
93
- , toolRequirements: "${{ needs.tool-output.outputs.apt_tools_ncurses6 }}"
94
- , DISTRO: "Ubuntu"
95
- , ARTIFACT: "x86_64-linux-ubuntu24.04"
96
- , ADD_CABAL_ARGS: "--enable-split-sections"
97
- },
98
- { image: "fedora:33"
99
- , installCmd: "dnf install -y"
100
- , toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
101
- , DISTRO: "Fedora"
102
- , ARTIFACT: "x86_64-linux-fedora33"
103
- , ADD_CABAL_ARGS: "--enable-split-sections"
104
- },
105
- { image: "fedora:36"
106
- , installCmd: "dnf install -y"
107
- , toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
108
- , DISTRO: "Fedora"
109
- , ARTIFACT: "x86_64-linux-fedora36"
110
- , ADD_CABAL_ARGS: "--enable-split-sections"
111
- },
112
- { image: "fedora:38"
113
- , installCmd: "dnf install -y"
114
- , toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
115
- , DISTRO: "Fedora"
116
- , ARTIFACT: "x86_64-linux-fedora38"
117
- , ADD_CABAL_ARGS: "--enable-split-sections"
118
- },
119
- { image: "rockylinux:8"
67
+ platform : [ { image: "rockylinux:8"
120
68
, installCmd: "yum -y install epel-release && yum install -y --allowerasing"
121
69
, toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
122
- , DISTRO: "Unknown "
123
- , ARTIFACT: "x86_64-linux-rocky8 "
70
+ , DISTRO: "Rockylinux "
71
+ , ARTIFACT: "x86_64-linux-glibc "
124
72
, ADD_CABAL_ARGS: "--enable-split-sections"
125
73
},
126
74
{ image: "alpine:3.20"
127
75
, installCmd: "apk update && apk add"
128
76
, toolRequirements: "${{ needs.tool-output.outputs.apk_tools }}"
129
- , DISTRO: "Unknown "
130
- , ARTIFACT: "x86_64-linux-unknown "
77
+ , DISTRO: "Alpine "
78
+ , ARTIFACT: "x86_64-linux-musl-static "
131
79
, ADD_CABAL_ARGS: "--enable-split-sections --enable-executable-static"
132
- },
133
- { image: "alpine:3.12"
134
- , installCmd: "apk update && apk add"
135
- , toolRequirements: "${{ needs.tool-output.outputs.apk_tools }}"
136
- , DISTRO: "Unknown"
137
- , ARTIFACT: "x86_64-linux-alpine312"
138
- , ADD_CABAL_ARGS: "--enable-split-sections"
139
- },
140
- { image: "alpine:3.20"
141
- , installCmd: "apk update && apk add"
142
- , toolRequirements: "${{ needs.tool-output.outputs.apk_tools }}"
143
- , DISTRO: "Unknown"
144
- , ARTIFACT: "x86_64-linux-alpine320"
145
- , ADD_CABAL_ARGS: "--enable-split-sections"
146
80
}
147
81
]
148
82
container :
@@ -162,6 +96,15 @@ jobs:
162
96
with :
163
97
ref : ${{ matrix.branch }}
164
98
99
+ - if : matrix.platform.DISTRO == 'Rockylinux'
100
+ run : |
101
+ curl -O -L https://gmplib.org/download/gmp/gmp-${{ env.GMP_VERSION }}.tar.xz
102
+ tar xf gmp-${{ env.GMP_VERSION }}.tar.xz
103
+ cd gmp-${{ env.GMP_VERSION }}
104
+ ./configure --prefix=$HOME/.local/ --disable-shared
105
+ make install
106
+ echo "extra-lib-dirs: $HOME/.local/lib/" >> cabal.release.project.local
107
+
165
108
- name : Run build
166
109
run : |
167
110
bash .github/scripts/build.sh
@@ -452,6 +395,7 @@ jobs:
452
395
env :
453
396
TARBALL_EXT : tar.xz
454
397
ARCH : 64
398
+ ADD_CABAL_ARGS : " "
455
399
strategy :
456
400
fail-fast : false
457
401
matrix :
@@ -460,85 +404,91 @@ jobs:
460
404
, installCmd: "apt-get update && apt-get install -y"
461
405
, toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
462
406
, DISTRO: "Debian"
463
- , ARTIFACT: "x86_64-linux-deb11"
464
- , ADD_CABAL_ARGS: "--enable-split-sections"
407
+ , ARTIFACT: "x86_64-linux-glibc"
465
408
},
466
409
{ image: "debian:12"
467
410
, installCmd: "apt-get update && apt-get install -y"
468
411
, toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
469
412
, DISTRO: "Debian"
470
- , ARTIFACT: "x86_64-linux-deb12"
471
- , ADD_CABAL_ARGS: "--enable-split-sections"
413
+ , ARTIFACT: "x86_64-linux-glibc"
472
414
},
473
415
{ image: "ubuntu:20.04"
474
416
, installCmd: "apt-get update && apt-get install -y"
475
417
, toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
476
418
, DISTRO: "Ubuntu"
477
- , ARTIFACT: "x86_64-linux-ubuntu20.04"
478
- , ADD_CABAL_ARGS: "--enable-split-sections"
419
+ , ARTIFACT: "x86_64-linux-glibc"
479
420
},
480
421
{ image: "ubuntu:22.04"
481
422
, installCmd: "apt-get update && apt-get install -y"
482
423
, toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
483
424
, DISTRO: "Ubuntu"
484
- , ARTIFACT: "x86_64-linux-ubuntu22.04"
485
- , ADD_CABAL_ARGS: "--enable-split-sections"
425
+ , ARTIFACT: "x86_64-linux-glibc"
486
426
},
487
427
{ image: "ubuntu:24.04"
488
428
, installCmd: "apt-get update && apt-get install -y"
489
429
, toolRequirements: "${{ needs.tool-output.outputs.apt_tools_ncurses6 }}"
490
430
, DISTRO: "Ubuntu"
491
- , ARTIFACT: "x86_64-linux-ubuntu24.04"
492
- , ADD_CABAL_ARGS: "--enable-split-sections"
431
+ , ARTIFACT: "x86_64-linux-glibc"
432
+ },
433
+ { image: "linuxmintd/mint20.3-amd64"
434
+ , installCmd: "apt-get update && apt-get install -y"
435
+ , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
436
+ , DISTRO: "Mint"
437
+ , ARTIFACT: "x86_64-linux-glibc"
438
+ },
439
+ { image: "linuxmintd/mint21.3-amd64"
440
+ , installCmd: "apt-get update && apt-get install -y"
441
+ , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
442
+ , DISTRO: "Mint"
443
+ , ARTIFACT: "x86_64-linux-glibc"
493
444
},
494
445
{ image: "fedora:33"
495
446
, installCmd: "dnf install -y"
496
447
, toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
497
448
, DISTRO: "Fedora"
498
- , ARTIFACT: "x86_64-linux-fedora33"
499
- , ADD_CABAL_ARGS: "--enable-split-sections"
449
+ , ARTIFACT: "x86_64-linux-glibc"
500
450
},
501
- { image: "fedora:36 "
451
+ { image: "fedora:37 "
502
452
, installCmd: "dnf install -y"
503
453
, toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
504
454
, DISTRO: "Fedora"
505
- , ARTIFACT: "x86_64-linux-fedora36"
506
- , ADD_CABAL_ARGS: "--enable-split-sections"
455
+ , ARTIFACT: "x86_64-linux-glibc"
507
456
},
508
- { image: "fedora:38 "
457
+ { image: "fedora:42 "
509
458
, installCmd: "dnf install -y"
510
459
, toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
511
460
, DISTRO: "Fedora"
512
- , ARTIFACT: "x86_64-linux-fedora38"
513
- , ADD_CABAL_ARGS: "--enable-split-sections"
461
+ , ARTIFACT: "x86_64-linux-glibc"
514
462
},
515
463
{ image: "rockylinux:8"
516
464
, installCmd: "yum -y install epel-release && yum install -y --allowerasing"
517
465
, toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
518
- , DISTRO: "Unknown"
519
- , ARTIFACT: "x86_64-linux-rocky8"
520
- , ADD_CABAL_ARGS: "--enable-split-sections"
466
+ , DISTRO: "Rockylinux"
467
+ , ARTIFACT: "x86_64-linux-glibc"
468
+ },
469
+ { image: "rockylinux:9"
470
+ , installCmd: "yum -y install epel-release && yum install -y --allowerasing"
471
+ , toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
472
+ , DISTRO: "Rockylinux"
473
+ , ARTIFACT: "x86_64-linux-glibc"
521
474
},
522
475
{ image: "alpine:3.20"
523
476
, installCmd: "apk update && apk add"
524
477
, toolRequirements: "${{ needs.tool-output.outputs.apk_tools }}"
525
- , DISTRO: "Unknown"
526
- , ARTIFACT: "x86_64-linux-unknown"
527
- , ADD_CABAL_ARGS: "--enable-split-sections --enable-executable-static"
478
+ , DISTRO: "Alpine"
479
+ , ARTIFACT: "x86_64-linux-musl-static"
528
480
},
529
481
{ image: "alpine:3.12"
530
482
, installCmd: "apk update && apk add"
531
483
, toolRequirements: "${{ needs.tool-output.outputs.apk_tools }}"
532
- , DISTRO: "Unknown"
533
- , ARTIFACT: "x86_64-linux-alpine312"
534
- , ADD_CABAL_ARGS: "--enable-split-sections"
484
+ , DISTRO: "Alpine"
485
+ , ARTIFACT: "x86_64-linux-musl-static"
535
486
},
536
- { image: "alpine:3.20 "
537
- , installCmd: "apk update && apk add "
538
- , toolRequirements: "${{ needs.tool-output.outputs.apk_tools }}"
487
+ { image: "ghcr.io/void-linux/void-glibc:latest "
488
+ , installCmd: "xbps-install -Suy xbps && xbps-install -Sy "
489
+ , toolRequirements: "${{ needs.tool-output.outputs.xbps_tools }}"
539
490
, DISTRO: "Unknown"
540
- , ARTIFACT: "x86_64-linux-alpine320"
541
- , ADD_CABAL_ARGS: "--enable-split-sections"
491
+ , ARTIFACT: "x86_64-linux-musl-static"
542
492
}
543
493
]
544
494
container :
0 commit comments