From f811dd3df2f9207839ac460012b99ade883eea01 Mon Sep 17 00:00:00 2001
From: Olivier Benz <olivier.benz@b-data.ch>
Date: Sat, 12 Aug 2023 13:33:57 +0200
Subject: [PATCH] Rebuild GHC v9.6.2, Add Stack v2.11.1

- Move cabal to /usr/local/bin
---
 .gitlab-ci.yml    | 11 ++---------
 latest.Dockerfile | 11 ++++++++++-
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6a42611..e0ed22a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -35,8 +35,8 @@
     DOCKER_DRIVER: overlay2
     DOCKER_TLS_CERTDIR: "/certs"
     BUILDX_NO_DEFAULT_ATTESTATIONS: "true"
-    GHC_VERSION_BUILD: "9.4.6"
-    CABAL_VERSION_BUILD: "3.8.1.0"
+    GHC_VERSION_BUILD: "9.6.2"
+    CABAL_VERSION_BUILD: "3.10.1.0"
     STACK_VERSION: "2.11.1"
   before_script:
     - *before-script-build
@@ -201,13 +201,6 @@ build-manifest:version-linux-multiarch:
           $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
       fi
       docker manifest push $CI_APP_REPO:$CI_APP_TAG
-    - |
-      docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
-      if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
-        docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN \
-          $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-      fi
-      docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN
   rules:
     - if: $CI_COMMIT_BRANCH == "freeze-version"
       changes:
diff --git a/latest.Dockerfile b/latest.Dockerfile
index 6297d0d..9ae84b7 100644
--- a/latest.Dockerfile
+++ b/latest.Dockerfile
@@ -1,5 +1,6 @@
 ARG GHC_VERSION_BUILD
 ARG CABAL_VERSION_BUILD
+ARG STACK_VERSION
 
 FROM glcr.b-data.ch/ghc/ghc-musl:9.4.6 as bootstrap
 
@@ -99,7 +100,7 @@ RUN apk upgrade --no-cache \
     zlib-static
 
 COPY --from=bootstrap /tmp/ghc-"$GHC_VERSION"/_build/bindist/ghc-"$GHC_VERSION"-*-alpine-linux.tar.xz /tmp/
-COPY --from=bootstrap /root/.cabal/bin/cabal /usr/bin/cabal
+COPY --from=bootstrap /root/.cabal/bin/cabal /usr/local/bin/cabal
 
 RUN cd /tmp \
   && tar -xJf ghc-"$GHC_VERSION"-*-alpine-linux.tar.xz \
@@ -125,6 +126,14 @@ RUN ghc -static -optl-pthread -optl-static Main.hs \
   && cabal init -n --is-executable -p tester -l MIT \
   && cabal run
 
+FROM glcr.b-data.ch/commercialhaskell/ssi:${STACK_VERSION} as ssi
+
 FROM builder as final
 
+ARG STACK_VERSION
+
+ENV STACK_VERSION=${STACK_VERSION}
+
+COPY --from=ssi /usr/local/bin/stack /usr/local/bin/stack
+
 CMD ["ghci"]
-- 
GitLab