From 1842ed464f94bd1b7f51b9bc6743970524cc742a Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Sun, 19 Apr 2020 19:23:54 +0200 Subject: [PATCH] Also build 32bit release artifact --- .gitlab-ci.yml | 28 ++++++++++++++-- .gitlab/before_script/freebsd/install_deps.sh | 4 +-- .../linux/alpine/install_deps.sh | 32 ++++++++++++++++--- .gitlab/script/ghcup_release.sh | 2 +- 4 files changed, 55 insertions(+), 11 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 633f20c..7c4e264 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,12 +15,21 @@ variables: variables: OS: "LINUX" -.alpine: +.alpine:64bit: image: "alpine:edge" tags: - x86_64-linux variables: OS: "LINUX" + BIT: "64" + +.alpine:32bit: + image: "i386/alpine:edge" + tags: + - x86_64-linux + variables: + OS: "LINUX" + BIT: "32" .darwin: tags: @@ -133,15 +142,28 @@ test:freebsd:latest: ######## linux release ######## -release:linux: +release:linux:64bit: extends: - - .alpine + - .alpine:64bit - .release_ghcup before_script: - ./.gitlab/before_script/linux/alpine/install_deps.sh variables: ARTIFACT: "x86_64-linux-ghcup" GHC_VERSION: "8.8.3" + CABAL_VERSION: "3.2.0.0" + + +release:linux:32bit: + extends: + - .alpine:32bit + - .release_ghcup + before_script: + - ./.gitlab/before_script/linux/alpine/install_deps.sh + variables: + ARTIFACT: "x86_64-linux-ghcup" + GHC_VERSION: "8.8.3" + CABAL_VERSION: "3.2.0.0" ######## darwin release ######## diff --git a/.gitlab/before_script/freebsd/install_deps.sh b/.gitlab/before_script/freebsd/install_deps.sh index e211583..d3915ee 100755 --- a/.gitlab/before_script/freebsd/install_deps.sh +++ b/.gitlab/before_script/freebsd/install_deps.sh @@ -15,8 +15,8 @@ mkdir -p "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin # ./ghcup-bin set ${GHC_VERSION} # install cabal-3.2.0.0 -curl -sSfL -o freebsd.tar.xz 'https://hasufell.de/f/48aa72dcfaff4c3ea452/?dl=1' -tar xf freebsd.tar.xz +curl -sSfL -o cabal-install-3.2.0.0-x86_64-portbld-freebsd.tar.xz 'https://hasufell.de/d/d3e215db133e4fcaa61e/files/?p=/cabal-install-3.2.0.0-x86_64-portbld-freebsd.tar.xz&dl=1' +tar xf cabal-install-3.2.0.0-x86_64-portbld-freebsd.tar.xz cp cabal "${GHCUP_INSTALL_BASE_PREFIX}/.ghcup/bin/cabal" chmod +x "${GHCUP_INSTALL_BASE_PREFIX}/.ghcup/bin/cabal" diff --git a/.gitlab/before_script/linux/alpine/install_deps.sh b/.gitlab/before_script/linux/alpine/install_deps.sh index 1c0db85..d8348c9 100755 --- a/.gitlab/before_script/linux/alpine/install_deps.sh +++ b/.gitlab/before_script/linux/alpine/install_deps.sh @@ -2,6 +2,8 @@ set -eux +. "$( cd "$(dirname "$0")" ; pwd -P )/../../../ghcup_env" + apk add --no-cache \ curl \ gcc \ @@ -12,10 +14,31 @@ apk add --no-cache \ make \ xz \ tar \ - perl \ - \ - cabal \ - ghc + perl + +ln -s libncurses.so /usr/lib/libtinfo.so +ln -s libncursesw.so.6 /usr/lib/libtinfow.so.6 +if [ "${BIT}" = "32" ] ; then + curl -sSfL https://downloads.haskell.org/~ghcup/0.1.4/i386-linux-ghcup-0.1.4 > ./ghcup-bin +else + curl -sSfL https://downloads.haskell.org/~ghcup/0.1.4/x86_64-linux-ghcup-0.1.4 > ./ghcup-bin +fi +chmod +x ghcup-bin +./ghcup-bin upgrade +./ghcup-bin install ${GHC_VERSION} +# ./ghcup-bin install-cabal ${CABAL_VERSION} +# install cabal-3.2.0.0 +if [ "${BIT}" = "32" ] ; then + curl -sSfL -o cabal-install-3.2.0.0-i386-alpine-linux-musl.tar.xz 'https://hasufell.de/d/d3e215db133e4fcaa61e/files/?p=/cabal-install-3.2.0.0-i386-alpine-linux-musl.tar.xz&dl=1' + tar xf cabal-install-3.2.0.0-i386-alpine-linux-musl.tar.xz + cp cabal-install-3.2.0.0-i386-alpine-linux-musl "${GHCUP_INSTALL_BASE_PREFIX}/.ghcup/bin/cabal" +else + curl -sSfL -o cabal-install-3.2.0.0-x86_64-alpine-linux-musl.tar.xz 'https://hasufell.de/d/d3e215db133e4fcaa61e/files/?p=/cabal-install-3.2.0.0-x86_64-alpine-linux-musl.tar.xz&dl=1' + tar xf cabal-install-3.2.0.0-x86_64-alpine-linux-musl.tar.xz + cp cabal-install-3.2.0.0-x86_64-alpine-linux-musl "${GHCUP_INSTALL_BASE_PREFIX}/.ghcup/bin/cabal" +fi +chmod +x "${GHCUP_INSTALL_BASE_PREFIX}/.ghcup/bin/cabal" + # utils apk add --no-cache \ @@ -34,5 +57,4 @@ apk add --no-cache \ xz-dev -. "$( cd "$(dirname "$0")" ; pwd -P )/../../../ghcup_env" diff --git a/.gitlab/script/ghcup_release.sh b/.gitlab/script/ghcup_release.sh index 898c50f..f8728fc 100755 --- a/.gitlab/script/ghcup_release.sh +++ b/.gitlab/script/ghcup_release.sh @@ -20,7 +20,7 @@ else fi mkdir out -cp "$(ecabal new-exec --verbose=0 --offline sh -- -c 'command -v ghcup')" . +cp "$(ecabal new-exec -w ghc-${GHC_VERSION} --verbose=0 --offline sh -- -c 'command -v ghcup')" . ver=$(./ghcup --numeric-version) cp ghcup out/${ARTIFACT}-${ver}