1414 ghc_targets :
1515 type : string
1616 default : " install_bin install_lib update_package_db"
17+ gmp :
18+ type : string
19+ default : 6.3.0
1720 cabal :
1821 type : string
1922 default : 3.14.2.0
2225 GHC_VERSION : ${{ inputs.ghc }}
2326 GHC_TARGETS : ${{ inputs.ghc_targets }}
2427 CABAL_VERSION : ${{ inputs.cabal }}
28+ GMP_VERSION : ${{ inputs.gmp }}
2529 DEBIAN_FRONTEND : noninteractive
2630 TZ : Asia/Singapore
2731
@@ -60,89 +64,26 @@ jobs:
6064 fail-fast : false
6165 matrix :
6266 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"
12068 , installCmd: "yum -y install epel-release && yum install -y --allowerasing"
12169 , 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 "
12472 , ADD_CABAL_ARGS: "--enable-split-sections"
12573 },
12674 { image: "alpine:3.20"
12775 , installCmd: "apk update && apk add"
12876 , 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"
13879 , ADD_CABAL_ARGS: "--enable-split-sections"
13980 },
14081 { image: "alpine:3.20"
14182 , installCmd: "apk update && apk add"
14283 , 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 "
14687 }
14788 ]
14889 container :
@@ -162,6 +103,15 @@ jobs:
162103 with :
163104 ref : ${{ matrix.branch }}
164105
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+
165115 - name : Run build
166116 run : |
167117 bash .github/scripts/build.sh
@@ -452,6 +402,7 @@ jobs:
452402 env :
453403 TARBALL_EXT : tar.xz
454404 ARCH : 64
405+ ADD_CABAL_ARGS : " "
455406 strategy :
456407 fail-fast : false
457408 matrix :
@@ -460,85 +411,103 @@ jobs:
460411 , installCmd: "apt-get update && apt-get install -y"
461412 , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
462413 , DISTRO: "Debian"
463- , ARTIFACT: "x86_64-linux-deb11"
464- , ADD_CABAL_ARGS: "--enable-split-sections"
414+ , ARTIFACT: "x86_64-linux-glibc"
465415 },
466416 { image: "debian:12"
467417 , installCmd: "apt-get update && apt-get install -y"
468418 , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
469419 , DISTRO: "Debian"
470- , ARTIFACT: "x86_64-linux-deb12"
471- , ADD_CABAL_ARGS: "--enable-split-sections"
420+ , ARTIFACT: "x86_64-linux-glibc"
472421 },
473422 { image: "ubuntu:20.04"
474423 , installCmd: "apt-get update && apt-get install -y"
475424 , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
476425 , DISTRO: "Ubuntu"
477- , ARTIFACT: "x86_64-linux-ubuntu20.04"
478- , ADD_CABAL_ARGS: "--enable-split-sections"
426+ , ARTIFACT: "x86_64-linux-glibc"
479427 },
480428 { image: "ubuntu:22.04"
481429 , installCmd: "apt-get update && apt-get install -y"
482430 , toolRequirements: "${{ needs.tool-output.outputs.apt_tools }}"
483431 , DISTRO: "Ubuntu"
484- , ARTIFACT: "x86_64-linux-ubuntu22.04"
485- , ADD_CABAL_ARGS: "--enable-split-sections"
432+ , ARTIFACT: "x86_64-linux-glibc"
486433 },
487434 { image: "ubuntu:24.04"
488435 , installCmd: "apt-get update && apt-get install -y"
489436 , toolRequirements: "${{ needs.tool-output.outputs.apt_tools_ncurses6 }}"
490437 , 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"
493451 },
494452 { image: "fedora:33"
495453 , installCmd: "dnf install -y"
496454 , toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
497455 , DISTRO: "Fedora"
498- , ARTIFACT: "x86_64-linux-fedora33"
499- , ADD_CABAL_ARGS: "--enable-split-sections"
456+ , ARTIFACT: "x86_64-linux-glibc"
500457 },
501- { image: "fedora:36 "
458+ { image: "fedora:37 "
502459 , installCmd: "dnf install -y"
503460 , toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
504461 , DISTRO: "Fedora"
505- , ARTIFACT: "x86_64-linux-fedora36"
506- , ADD_CABAL_ARGS: "--enable-split-sections"
462+ , ARTIFACT: "x86_64-linux-glibc"
507463 },
508- { image: "fedora:38 "
464+ { image: "fedora:42 "
509465 , installCmd: "dnf install -y"
510466 , toolRequirements: "${{ needs.tool-output.outputs.rpm_tools }}"
511467 , DISTRO: "Fedora"
512- , ARTIFACT: "x86_64-linux-fedora38"
513- , ADD_CABAL_ARGS: "--enable-split-sections"
468+ , ARTIFACT: "x86_64-linux-glibc"
514469 },
515470 { image: "rockylinux:8"
516471 , installCmd: "yum -y install epel-release && yum install -y --allowerasing"
517472 , 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"
521481 },
522482 { image: "alpine:3.20"
523483 , installCmd: "apk update && apk add"
524484 , 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"
528487 },
529488 { image: "alpine:3.12"
530489 , installCmd: "apk update && apk add"
531490 , 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"
535493 },
536494 { image: "alpine:3.20"
537495 , installCmd: "apk update && apk add"
538496 , 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 }}"
539509 , DISTRO: "Unknown"
540- , ARTIFACT: "x86_64-linux-alpine320"
541- , ADD_CABAL_ARGS: "--enable-split-sections"
510+ , ARTIFACT: "x86_64-linux-musl-static"
542511 }
543512 ]
544513 container :
0 commit comments