@@ -102,15 +102,21 @@ jobs:
102
102
, DISTRO: "CentOS"
103
103
, ARTIFACT: "x86_64-linux-centos7"
104
104
, ADD_CABAL_ARGS: "--enable-split-sections"
105
- },
106
- { image: "rockylinux:8"
107
- , installCmd: "yum -y install epel-release && yum install -y --allowerasing"
108
- , toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
109
- , DISTRO: "Unknown"
110
- , ARTIFACT: "x86_64-linux-unknown"
111
- , ADD_CABAL_ARGS: "--enable-split-sections"
112
105
}
113
106
]
107
+ # TODO: rm
108
+ # we need a different image for 9.4.4, because GHC bindists are busted
109
+ include :
110
+ - ghc : 8.10.7
111
+ platform : { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
112
+ - ghc : 9.0.2
113
+ platform : { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
114
+ - ghc : 9.2.5
115
+ platform : { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
116
+ - ghc : 9.2.7
117
+ platform : { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
118
+ - ghc : 9.4.4
119
+ platform : { image: "fedora:33", installCmd: "dnf install -y", toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf tree", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
114
120
container :
115
121
image : ${{ matrix.platform.image }}
116
122
steps :
@@ -400,9 +406,9 @@ jobs:
400
406
toolRequirements : libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf tree
401
407
DISTRO : Mint
402
408
ARTIFACT : " x86_64-linux-mint19.3"
403
- - image : " rockylinux:8 "
404
- installCmd : " yum -y install epel-release && yum install -y --allowerasing "
405
- toolRequirements : " autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
409
+ - image : " fedora:33 "
410
+ installCmd : " dnf install -y "
411
+ toolRequirements : " autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf tree "
406
412
DISTRO : " Unknown"
407
413
ARTIFACT : " x86_64-linux-unknown"
408
414
- image : linuxmintd/mint20.2-amd64
@@ -418,7 +424,7 @@ jobs:
418
424
run : |
419
425
${{ matrix.installCmd }} curl bash git ${{ matrix.toolRequirements }}
420
426
421
- - if : matrix.platform. DISTRO == 'Unknown'
427
+ - if : matrix.DISTRO == 'Unknown'
422
428
run : |
423
429
echo "NAME=Linux" > /etc/os-release
424
430
echo "ID=linux" >> /etc/os-release
@@ -432,9 +438,11 @@ jobs:
432
438
path : ./
433
439
434
440
- name : Create bindist
441
+ # we need reverse sorting, so that the wrapper binary comes from the oldest GHC always
435
442
run : |
436
- for bindist in out-*.tar ; do
437
- tar xf "${bindist}"
443
+ set -eux
444
+ for bindist in $(find . -mindepth 1 -maxdepth 1 -type f -name 'out-*.tar' -print | sort -r) ; do
445
+ tar -xf --overwrite "${bindist}"
438
446
done
439
447
unset bindist
440
448
bash .github/scripts/bindist.sh
@@ -694,9 +702,9 @@ jobs:
694
702
toolRequirements : libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf tree
695
703
DISTRO : Mint
696
704
ARTIFACT : " x86_64-linux-mint19.3"
697
- - image : " rockylinux:8 "
698
- installCmd : " yum -y install epel-release && yum install -y --allowerasing "
699
- toolRequirements : " autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
705
+ - image : " fedora:33 "
706
+ installCmd : dnf install -y
707
+ toolRequirements : autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf tree
700
708
DISTRO : " Unknown"
701
709
ARTIFACT : " x86_64-linux-unknown"
702
710
- image : linuxmintd/mint20.2-amd64
@@ -712,7 +720,7 @@ jobs:
712
720
run : |
713
721
${{ matrix.installCmd }} curl bash git ${{ matrix.toolRequirements }}
714
722
715
- - if : matrix.platform. DISTRO == 'Unknown'
723
+ - if : matrix.DISTRO == 'Unknown'
716
724
run : |
717
725
echo "NAME=Linux" > /etc/os-release
718
726
echo "ID=linux" >> /etc/os-release
0 commit comments