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,26 @@ 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"
131
- , 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"
77
+ , DISTRO: "Alpine"
78
+ , ARTIFACT: "x86_64-linux-musl"
138
79
, ADD_CABAL_ARGS: "--enable-split-sections"
139
80
},
140
81
{ image: "alpine:3.20"
141
82
, installCmd: "apk update && apk add"
142
83
, toolRequirements: "${{ needs.tool-output.outputs.apk_tools }}"
143
- , DISTRO: "Unknown "
144
- , ARTIFACT: "x86_64-linux-alpine320 "
145
- , ADD_CABAL_ARGS: "--enable-split-sections"
84
+ , DISTRO: "Alpine "
85
+ , ARTIFACT: "x86_64-linux-musl-static "
86
+ , ADD_CABAL_ARGS: "--enable-split-sections --enable-executable-static "
146
87
}
147
88
]
148
89
container :
@@ -162,6 +103,15 @@ jobs:
162
103
with :
163
104
ref : ${{ matrix.branch }}
164
105
106
+ - if : matrix.platform.DISTRO == 'Rockylinux'
107
+ run : |
108
+ curl -O -L https://gmplib.org/download/gmp/gmp-${{ env.GMP_VERSION }}.tar.xz
109
+ tar xf gmp-${{ env.GMP_VERSION }}.tar.xz
110
+ cd gmp-${{ env.GMP_VERSION }}
111
+ ./configure --prefix=$HOME/.local/ --disable-shared
112
+ make install
113
+ echo "extra-lib-dirs: $HOME/.local/lib/" >> cabal.release.project.local
114
+
165
115
- name : Run build
166
116
run : |
167
117
bash .github/scripts/build.sh
@@ -452,6 +402,7 @@ jobs:
452
402
env :
453
403
TARBALL_EXT : tar.xz
454
404
ARCH : 64
405
+ ADD_CABAL_ARGS : " "
455
406
strategy :
456
407
fail-fast : false
457
408
matrix :
@@ -460,85 +411,103 @@ jobs:
460
411
, installCmd: "apt-get update && apt-get install -y"
461
412
, toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
462
413
, DISTRO: "Debian"
463
- , ARTIFACT: "x86_64-linux-deb11"
464
- , ADD_CABAL_ARGS: "--enable-split-sections"
414
+ , ARTIFACT: "x86_64-linux-glibc"
465
415
},
466
416
{ image: "debian:12"
467
417
, installCmd: "apt-get update && apt-get install -y"
468
418
, toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
469
419
, DISTRO: "Debian"
470
- , ARTIFACT: "x86_64-linux-deb12"
471
- , ADD_CABAL_ARGS: "--enable-split-sections"
420
+ , ARTIFACT: "x86_64-linux-glibc"
472
421
},
473
422
{ image: "ubuntu:20.04"
474
423
, installCmd: "apt-get update && apt-get install -y"
475
424
, toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
476
425
, DISTRO: "Ubuntu"
477
- , ARTIFACT: "x86_64-linux-ubuntu20.04"
478
- , ADD_CABAL_ARGS: "--enable-split-sections"
426
+ , ARTIFACT: "x86_64-linux-glibc"
479
427
},
480
428
{ image: "ubuntu:22.04"
481
429
, installCmd: "apt-get update && apt-get install -y"
482
430
, toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
483
431
, DISTRO: "Ubuntu"
484
- , ARTIFACT: "x86_64-linux-ubuntu22.04"
485
- , ADD_CABAL_ARGS: "--enable-split-sections"
432
+ , ARTIFACT: "x86_64-linux-glibc"
486
433
},
487
434
{ image: "ubuntu:24.04"
488
435
, installCmd: "apt-get update && apt-get install -y"
489
436
, toolRequirements: "${{ needs.tool-output.outputs.apt_tools_ncurses6 }}"
490
437
, DISTRO: "Ubuntu"
491
- , ARTIFACT: "x86_64-linux-ubuntu24.04"
492
- , ADD_CABAL_ARGS: "--enable-split-sections"
438
+ , ARTIFACT: "x86_64-linux-glibc"
439
+ },
440
+ { image: "linuxmintd/mint20.3-amd64"
441
+ , installCmd: "apt-get update && apt-get install -y"
442
+ , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
443
+ , DISTRO: "Mint"
444
+ , ARTIFACT: "x86_64-linux-glibc"
445
+ },
446
+ { image: "linuxmintd/mint21.3-amd64"
447
+ , installCmd: "apt-get update && apt-get install -y"
448
+ , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
449
+ , DISTRO: "Mint"
450
+ , ARTIFACT: "x86_64-linux-glibc"
493
451
},
494
452
{ image: "fedora:33"
495
453
, installCmd: "dnf install -y"
496
454
, toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
497
455
, DISTRO: "Fedora"
498
- , ARTIFACT: "x86_64-linux-fedora33"
499
- , ADD_CABAL_ARGS: "--enable-split-sections"
456
+ , ARTIFACT: "x86_64-linux-glibc"
500
457
},
501
- { image: "fedora:36 "
458
+ { image: "fedora:37 "
502
459
, installCmd: "dnf install -y"
503
460
, toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
504
461
, DISTRO: "Fedora"
505
- , ARTIFACT: "x86_64-linux-fedora36"
506
- , ADD_CABAL_ARGS: "--enable-split-sections"
462
+ , ARTIFACT: "x86_64-linux-glibc"
507
463
},
508
- { image: "fedora:38 "
464
+ { image: "fedora:42 "
509
465
, installCmd: "dnf install -y"
510
466
, toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
511
467
, DISTRO: "Fedora"
512
- , ARTIFACT: "x86_64-linux-fedora38"
513
- , ADD_CABAL_ARGS: "--enable-split-sections"
468
+ , ARTIFACT: "x86_64-linux-glibc"
514
469
},
515
470
{ image: "rockylinux:8"
516
471
, installCmd: "yum -y install epel-release && yum install -y --allowerasing"
517
472
, toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
518
- , DISTRO: "Unknown"
519
- , ARTIFACT: "x86_64-linux-rocky8"
520
- , ADD_CABAL_ARGS: "--enable-split-sections"
473
+ , DISTRO: "Rockylinux"
474
+ , ARTIFACT: "x86_64-linux-glibc"
475
+ },
476
+ { image: "rockylinux:9"
477
+ , installCmd: "yum -y install epel-release && yum install -y --allowerasing"
478
+ , toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
479
+ , DISTRO: "Rockylinux"
480
+ , ARTIFACT: "x86_64-linux-glibc"
521
481
},
522
482
{ image: "alpine:3.20"
523
483
, installCmd: "apk update && apk add"
524
484
, 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"
485
+ , DISTRO: "Alpine"
486
+ , ARTIFACT: "x86_64-linux-musl-static"
528
487
},
529
488
{ image: "alpine:3.12"
530
489
, installCmd: "apk update && apk add"
531
490
, toolRequirements: "${{ needs.tool-output.outputs.apk_tools }}"
532
- , DISTRO: "Unknown"
533
- , ARTIFACT: "x86_64-linux-alpine312"
534
- , ADD_CABAL_ARGS: "--enable-split-sections"
491
+ , DISTRO: "Alpine"
492
+ , ARTIFACT: "x86_64-linux-musl-static"
535
493
},
536
494
{ image: "alpine:3.20"
537
495
, installCmd: "apk update && apk add"
538
496
, toolRequirements: "${{ needs.tool-output.outputs.apk_tools }}"
497
+ , DISTRO: "Alpine"
498
+ , ARTIFACT: "x86_64-linux-musl"
499
+ },
500
+ { image: "alpine:3.12"
501
+ , installCmd: "apk update && apk add"
502
+ , toolRequirements: "${{ needs.tool-output.outputs.apk_tools }}"
503
+ , DISTRO: "Alpine"
504
+ , ARTIFACT: "x86_64-linux-musl"
505
+ },
506
+ { image: "ghcr.io/void-linux/void-glibc:latest"
507
+ , installCmd: "xbps-install -Suy xbps && xbps-install -Sy"
508
+ , toolRequirements: "${{ needs.tool-output.outputs.xbps_tools }}"
539
509
, DISTRO: "Unknown"
540
- , ARTIFACT: "x86_64-linux-alpine320"
541
- , ADD_CABAL_ARGS: "--enable-split-sections"
510
+ , ARTIFACT: "x86_64-linux-musl-static"
542
511
}
543
512
]
544
513
container :
0 commit comments