From 09daaa549eaf43bfd9407527db857aa6e90e20e6 Mon Sep 17 00:00:00 2001 From: Olivier Benz <olivier.benz@b-data.ch> Date: Mon, 13 Mar 2023 19:04:41 +0100 Subject: [PATCH] Update GHC to v9.6.1 - Use LLVM v14 --- .gitlab-ci.yml | 39 +++++++++++++++++++++++++++++---------- latest.Dockerfile | 8 ++++---- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 391fafa..8ff6c2a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,15 +26,15 @@ sed -n "s|\([[:digit:]]\+\).*|\1|p"` .build: - image: registry.gitlab.b-data.ch/docker/docker-buildx:latest + image: glcr.b-data.ch/docker/docker-buildx:latest stage: build services: - docker:dind variables: DOCKER_DRIVER: overlay2 DOCKER_TLS_CERTDIR: "/certs" - GHC_VERSION_BUILD: "9.4.4" - CABAL_VERSION_BUILD: "3.8.1.0" + GHC_VERSION_BUILD: "9.6.1" + CABAL_VERSION_BUILD: "3.10.1.0" before_script: - *before-script-build @@ -44,6 +44,14 @@ build:latest-linux-amd64: - arch:amd64 - os:linux script: + - > + docker build + --build-arg GHC_VERSION_BUILD + --build-arg CABAL_VERSION_BUILD + --target tester + -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 + -t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-amd64 + -f latest.Dockerfile . - > docker build --build-arg GHC_VERSION_BUILD @@ -65,6 +73,14 @@ build:latest-linux-arm64v8: - arch:arm64/v8 - os:linux script: + - > + docker build + --build-arg GHC_VERSION_BUILD + --build-arg CABAL_VERSION_BUILD + --target tester + -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 + -t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-arm64v8 + -f latest.Dockerfile . - > docker build --build-arg GHC_VERSION_BUILD @@ -86,6 +102,11 @@ build:version-linux-amd64: - arch:amd64 - os:linux script: + - > + docker build + --target tester + -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 + -f $GHC_VERSION_BUILD.Dockerfile . - > docker build -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 @@ -102,6 +123,11 @@ build:version-linux-arm64v8: - arch:arm64/v8 - os:linux script: + - > + docker build + --target tester + -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 + -f $GHC_VERSION_BUILD.Dockerfile . - > docker build -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 @@ -168,13 +194,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 bb610c1..e3ee50f 100644 --- a/latest.Dockerfile +++ b/latest.Dockerfile @@ -1,7 +1,7 @@ ARG GHC_VERSION_BUILD ARG CABAL_VERSION_BUILD -FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.2.7 as bootstrap +FROM glcr.b-data.ch/ghc/ghc-musl:9.4.4 as bootstrap ARG GHC_VERSION_BUILD ARG CABAL_VERSION_BUILD @@ -21,7 +21,7 @@ RUN apk upgrade --no-cache \ gnupg \ linux-headers \ libffi-dev \ - llvm12 \ + llvm14 \ ncurses-dev \ perl \ python3 \ @@ -50,12 +50,12 @@ RUN cd /tmp \ --flavour=perf+llvm+split_sections \ --docs=none \ # See https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history - && cabal install --allow-newer cabal-install-$CABAL_VERSION + && cabal install --allow-newer --constraint 'Cabal-syntax<3.11' cabal-install-$CABAL_VERSION FROM alpine:3.17 as builder LABEL org.opencontainers.image.licenses="MIT" \ - org.opencontainers.image.source="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ + org.opencontainers.image.source="https://gitlab.b-data.ch/ghc/ghc-musl" \ org.opencontainers.image.vendor="Olivier Benz" \ org.opencontainers.image.authors="Olivier Benz <olivier.benz@b-data.ch>" -- GitLab