From 9f090dbb5b4854d5d1528a0d88ec148f1385cbc7 Mon Sep 17 00:00:00 2001 From: Olivier Benz <olivier.benz@b-data.ch> Date: Mon, 2 Oct 2023 17:16:45 +0200 Subject: [PATCH] Refactor Dockerfiles - Update .gitlab-ci.yml --- .devcontainer/README.md | 4 +++ .devcontainer/VERSION_MATRIX.md | 3 +- .gitlab-ci.yml | 54 ++++++++++++++++----------------- README.md | 8 ++--- bootstrap/amd64.Dockerfile | 18 ++++++++--- bootstrap/arm64.Dockerfile | 18 ++++++++--- latest.Dockerfile | 7 +++-- prior/8.10.1.Dockerfile | 21 +++++++++---- prior/8.10.4.Dockerfile | 21 +++++++++---- prior/8.10.5.Dockerfile | 21 +++++++++---- prior/8.10.6.Dockerfile | 21 +++++++++---- prior/8.10.7.Dockerfile | 21 +++++++++---- prior/8.8.4.Dockerfile | 21 +++++++++---- prior/9.0.1.Dockerfile | 21 +++++++++---- prior/9.0.2.Dockerfile | 21 +++++++++---- prior/9.2.1.Dockerfile | 21 +++++++++---- prior/9.2.2.Dockerfile | 21 +++++++++---- prior/9.2.3.Dockerfile | 7 +++-- prior/9.2.4.Dockerfile | 7 +++-- prior/9.2.5.Dockerfile | 7 +++-- prior/9.2.6.Dockerfile | 7 +++-- prior/9.2.7.Dockerfile | 7 +++-- prior/9.2.8.Dockerfile | 7 +++-- prior/9.4.1.Dockerfile | 7 +++-- prior/9.4.2.Dockerfile | 7 +++-- prior/9.4.3.Dockerfile | 7 +++-- prior/9.4.4.Dockerfile | 7 +++-- prior/9.4.5.Dockerfile | 7 +++-- prior/9.4.6.Dockerfile | 7 +++-- prior/9.4.7.Dockerfile | 7 +++-- prior/9.6.1.Dockerfile | 7 +++-- prior/9.6.2.Dockerfile | 7 +++-- 32 files changed, 293 insertions(+), 134 deletions(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index d21d86f..f3d0381 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -67,6 +67,10 @@ For local/remote usage with VS Code, please follow the instructions at For use with Github Codespaces, please follow the instruction at [Creating a codespace for a repository](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). +### Versions + +See the [Version Matrix](VERSION_MATRIX.md) for detailed information. + ### Uniqueness What makes these Dev Containers unique: diff --git a/.devcontainer/VERSION_MATRIX.md b/.devcontainer/VERSION_MATRIX.md index 2caa7f9..10a4cbe 100644 --- a/.devcontainer/VERSION_MATRIX.md +++ b/.devcontainer/VERSION_MATRIX.md @@ -8,6 +8,8 @@ | 9.4.7<br>9.4 | 3.8.1.0 | ≥ 2.13.1 | 2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1 | | 9.2.8<br>9.2 | 3.6.2.0 | ≥ 2.13.1 | 2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1 | +[^1]: built-in version; see [GHC musl > Version Matrix](../VERSION_MATRIX.md) + ## Legacy | GHC | Cabal[^1] | Stack[^2] | HLS | @@ -18,5 +20,4 @@ | 9.4.5 | 3.8.1.0 | 2.11.1[^1]<br>2.9.3.1 | 2.1.0.0<br>2.0.0.1 | | 9.2.8 | 3.6.2.0 | 2.11.1[^1]<br>2.9.3.1 | 2.2.0.0<br>2.1.0.0<br>2.0.0.1 | -[^1]: built-in version; see [GHC musl > Version Matrix](../VERSION_MATRIX.md) [^2]: unsupported build; *statically linked* binary diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 12c7984..58b5ede 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ .env: variables: - GHC_VERSION_BUILD: "9.6.3" - CABAL_VERSION_BUILD: "3.10.1.0" + GHC_VERSION: "9.6.3" + CABAL_VERSION: "3.10.1.0" STACK_VERSION: "2.13.1" HLS_VERSION: "2.3.0.0" BUILD_GHC: "true" @@ -18,7 +18,7 @@ if [[ $CI_COMMIT_BRANCH == "main" ]]; then export CI_APP_TAG=${CI_APP_TAG:-latest} elif [[ $CI_COMMIT_BRANCH == "freeze-version" ]]; then - export CI_APP_TAG=${CI_APP_TAG:-$GHC_VERSION_BUILD} + export CI_APP_TAG=${CI_APP_TAG:-$GHC_VERSION} else export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA} fi @@ -26,7 +26,7 @@ echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY - > - export VERSION_MAJ_MIN_PAT=$GHC_VERSION_BUILD + export VERSION_MAJ_MIN_PAT=$GHC_VERSION export VERSION_MAJ_MIN=`echo $VERSION_MAJ_MIN_PAT | sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"` @@ -66,8 +66,8 @@ build:latest-linux-amd64: script: - > docker build - --build-arg GHC_VERSION_BUILD - --build-arg CABAL_VERSION_BUILD + --build-arg GHC_VERSION + --build-arg CABAL_VERSION --build-arg STACK_VERSION --target tester -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 @@ -75,8 +75,8 @@ build:latest-linux-amd64: -f latest.Dockerfile . - > docker build - --build-arg GHC_VERSION_BUILD - --build-arg CABAL_VERSION_BUILD + --build-arg GHC_VERSION + --build-arg CABAL_VERSION --build-arg STACK_VERSION -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 -t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-amd64 @@ -98,8 +98,8 @@ build:latest-linux-arm64v8: script: - > docker build - --build-arg GHC_VERSION_BUILD - --build-arg CABAL_VERSION_BUILD + --build-arg GHC_VERSION + --build-arg CABAL_VERSION --build-arg STACK_VERSION --target tester -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 @@ -107,8 +107,8 @@ build:latest-linux-arm64v8: -f latest.Dockerfile . - > docker build - --build-arg GHC_VERSION_BUILD - --build-arg CABAL_VERSION_BUILD + --build-arg GHC_VERSION + --build-arg CABAL_VERSION --build-arg STACK_VERSION -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 -t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-arm64v8 @@ -132,16 +132,16 @@ build:version-linux-amd64: docker build --target tester -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 - -f prior/$GHC_VERSION_BUILD.Dockerfile . + -f prior/$GHC_VERSION.Dockerfile . - > docker build -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 - -f prior/$GHC_VERSION_BUILD.Dockerfile . + -f prior/$GHC_VERSION.Dockerfile . - docker push $CI_APP_REPO:$CI_APP_TAG-linux-amd64 rules: - if: $BUILD_GHC == "true" && $CI_COMMIT_BRANCH == "freeze-version" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/ changes: - - prior/$GHC_VERSION_BUILD.Dockerfile + - prior/$GHC_VERSION.Dockerfile build:version-linux-arm64v8: extends: .build @@ -154,16 +154,16 @@ build:version-linux-arm64v8: docker build --target tester -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 - -f prior/$GHC_VERSION_BUILD.Dockerfile . + -f prior/$GHC_VERSION.Dockerfile . - > docker build -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 - -f prior/$GHC_VERSION_BUILD.Dockerfile . + -f prior/$GHC_VERSION.Dockerfile . - docker push $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 rules: - if: $BUILD_GHC == "true" && $CI_COMMIT_BRANCH == "freeze-version" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/ changes: - - prior/$GHC_VERSION_BUILD.Dockerfile + - prior/$GHC_VERSION.Dockerfile build-manifest:latest-linux-multiarch: extends: .build @@ -226,7 +226,7 @@ build-manifest:version-linux-multiarch: rules: - if: $BUILD_GHC == "true" && $CI_COMMIT_BRANCH == "freeze-version" changes: - - prior/$GHC_VERSION_BUILD.Dockerfile + - prior/$GHC_VERSION.Dockerfile build-package-hls:latest-linux-amd64: extends: .build @@ -237,14 +237,14 @@ build-package-hls:latest-linux-amd64: script: - > docker build - --build-arg GHC_VERSION=$GHC_VERSION_BUILD + --build-arg GHC_VERSION --build-arg HLS_VERSION -t $CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION-linux-amd64 - -t $CI_APP_REPO/$GHC_VERSION_BUILD/hls:$HLS_VERSION-linux-amd64 + -t $CI_APP_REPO/$GHC_VERSION/hls:$HLS_VERSION-linux-amd64 -f packages/hls/$HLS_VERSION.Dockerfile . - | docker push $CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION-linux-amd64 - docker push $CI_APP_REPO/$GHC_VERSION_BUILD/hls:$HLS_VERSION-linux-amd64 + docker push $CI_APP_REPO/$GHC_VERSION/hls:$HLS_VERSION-linux-amd64 rules: - if: $BUILD_HLS == "true" && $CI_COMMIT_BRANCH == "main" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/ changes: @@ -259,14 +259,14 @@ build-package-hls:latest-linux-arm64v8: script: - > docker build - --build-arg GHC_VERSION=$GHC_VERSION_BUILD + --build-arg GHC_VERSION --build-arg HLS_VERSION -t $CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION-linux-arm64v8 - -t $CI_APP_REPO/$GHC_VERSION_BUILD/hls:$HLS_VERSION-linux-arm64v8 + -t $CI_APP_REPO/$GHC_VERSION/hls:$HLS_VERSION-linux-arm64v8 -f packages/hls/$HLS_VERSION.Dockerfile . - | docker push $CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION-linux-arm64v8 - docker push $CI_APP_REPO/$GHC_VERSION_BUILD/hls:$HLS_VERSION-linux-arm64v8 + docker push $CI_APP_REPO/$GHC_VERSION/hls:$HLS_VERSION-linux-arm64v8 rules: - if: $BUILD_HLS == "true" && $CI_COMMIT_BRANCH == "main" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/ changes: @@ -281,7 +281,7 @@ build-package-hls:version-linux-amd64: script: - > docker build - --build-arg GHC_VERSION=$GHC_VERSION_BUILD + --build-arg GHC_VERSION -t $CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION-linux-amd64 -f packages/hls/$HLS_VERSION.Dockerfile . - docker push $CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION-linux-amd64 @@ -299,7 +299,7 @@ build-package-hls:version-linux-arm64v8: script: - > docker build - --build-arg GHC_VERSION=$GHC_VERSION_BUILD + --build-arg GHC_VERSION -t $CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION-linux-arm64v8 -f packages/hls/$HLS_VERSION.Dockerfile . - docker push $CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION-linux-arm64v8 diff --git a/README.md b/README.md index d9ab889..f95f047 100644 --- a/README.md +++ b/README.md @@ -46,8 +46,8 @@ To install docker, follow the instructions for your platform: ```bash docker build \ - --build-arg GHC_VERSION_BUILD=9.6.3 \ - --build-arg CABAL_VERSION_BUILD=3.10.1.0 \ + --build-arg GHC_VERSION=9.6.3 \ + --build-arg CABAL_VERSION=3.10.1.0 \ --build-arg STACK_VERSION=2.13.1 \ -t ghc-musl \ -f latest.Dockerfile . @@ -85,8 +85,8 @@ include the Haskell Tool Stack (Stack). There is currently no GHC binary distribution for Alpine Linux (AArch64) available! -:exclamation: Use flags <nobr>`--no-install-ghc --system-ghc`</nobr> to ensure -that only the GHC available in the container is used. +:exclamation: Use flags <nobr>`--no-install-ghc --system-ghc`</nobr> with +Stack to ensure that only the GHC available in the container is used. ## Similar projects diff --git a/bootstrap/amd64.Dockerfile b/bootstrap/amd64.Dockerfile index 4b28a05..7fc1851 100644 --- a/bootstrap/amd64.Dockerfile +++ b/bootstrap/amd64.Dockerfile @@ -1,9 +1,14 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=8.8.3 +ARG CABAL_VERSION=3.2.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM alpine:3.12 as bootstrap -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG CABAL_VERSION_BUILD + +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} COPY ghc-8.8.patch /tmp/ COPY cabal-0001-force-ld.gold.patch /tmp/ @@ -40,8 +45,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.8.3} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk add --no-cache \ bash \ diff --git a/bootstrap/arm64.Dockerfile b/bootstrap/arm64.Dockerfile index aa0c311..fbe0326 100644 --- a/bootstrap/arm64.Dockerfile +++ b/bootstrap/arm64.Dockerfile @@ -1,9 +1,14 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=8.8.3 +ARG CABAL_VERSION=3.2.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM alpine:3.12 as bootstrap -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG CABAL_VERSION_BUILD + +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} COPY ghc-8.8.patch /tmp/ COPY cabal-0001-force-ld.gold.patch /tmp/ @@ -41,8 +46,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.8.3} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk add --no-cache \ bash \ diff --git a/latest.Dockerfile b/latest.Dockerfile index 9f2249e..c1a7d7a 100644 --- a/latest.Dockerfile +++ b/latest.Dockerfile @@ -1,7 +1,10 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION +ARG CABAL_VERSION ARG STACK_VERSION +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} + FROM glcr.b-data.ch/ghc/ghc-musl:9.4.7 as bootstrap ARG GHC_VERSION_BUILD diff --git a/prior/8.10.1.Dockerfile b/prior/8.10.1.Dockerfile index bcbd91c..92f9080 100644 --- a/prior/8.10.1.Dockerfile +++ b/prior/8.10.1.Dockerfile @@ -1,10 +1,16 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=8.10.1 +ARG CABAL_VERSION=3.2.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:8.8.4 as bootstrap -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.10.1} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk upgrade --no-cache \ && apk add --no-cache \ @@ -65,8 +71,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.10.1} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk add --no-cache \ bash \ diff --git a/prior/8.10.4.Dockerfile b/prior/8.10.4.Dockerfile index 98a3029..e53f662 100644 --- a/prior/8.10.4.Dockerfile +++ b/prior/8.10.4.Dockerfile @@ -1,10 +1,16 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=8.10.4 +ARG CABAL_VERSION=3.2.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:8.8.4 as bootstrap -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.10.4} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk upgrade --no-cache \ && apk add --no-cache \ @@ -65,8 +71,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.10.4} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk add --no-cache \ bash \ diff --git a/prior/8.10.5.Dockerfile b/prior/8.10.5.Dockerfile index 4f04d81..ad36a6b 100644 --- a/prior/8.10.5.Dockerfile +++ b/prior/8.10.5.Dockerfile @@ -1,10 +1,16 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=8.10.5 +ARG CABAL_VERSION=3.2.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:8.8.4 as bootstrap -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.10.5} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk upgrade --no-cache \ && apk add --no-cache \ @@ -65,8 +71,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.10.5} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk add --no-cache \ bash \ diff --git a/prior/8.10.6.Dockerfile b/prior/8.10.6.Dockerfile index d43182d..10ebff5 100644 --- a/prior/8.10.6.Dockerfile +++ b/prior/8.10.6.Dockerfile @@ -1,10 +1,16 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=8.10.6 +ARG CABAL_VERSION=3.2.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:8.8.4 as bootstrap -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.10.6} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk upgrade --no-cache \ && apk add --no-cache \ @@ -65,8 +71,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.10.6} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk add --no-cache \ bash \ diff --git a/prior/8.10.7.Dockerfile b/prior/8.10.7.Dockerfile index 50680c4..783ee08 100644 --- a/prior/8.10.7.Dockerfile +++ b/prior/8.10.7.Dockerfile @@ -1,10 +1,16 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=8.10.7 +ARG CABAL_VERSION=3.2.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:8.8.4 as bootstrap -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.10.7} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk upgrade --no-cache \ && apk add --no-cache \ @@ -65,8 +71,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.10.7} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk add --no-cache \ bash \ diff --git a/prior/8.8.4.Dockerfile b/prior/8.8.4.Dockerfile index 6ac9544..d7ad509 100644 --- a/prior/8.8.4.Dockerfile +++ b/prior/8.8.4.Dockerfile @@ -1,10 +1,16 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=8.8.4 +ARG CABAL_VERSION=3.2.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:bootstrap as bootstrap -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.8.4} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk upgrade --no-cache \ && apk add --no-cache \ @@ -65,8 +71,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-8.8.4} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.2.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk add --no-cache \ bash \ diff --git a/prior/9.0.1.Dockerfile b/prior/9.0.1.Dockerfile index 03bad97..815d835 100644 --- a/prior/9.0.1.Dockerfile +++ b/prior/9.0.1.Dockerfile @@ -1,10 +1,16 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=9.0.1 +ARG CABAL_VERSION=3.4.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:8.10.7 as bootstrap -ENV GHC_VERSION=${GHC_VERSION_BUILD:-9.0.1} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.4.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk upgrade --no-cache \ && apk add --no-cache \ @@ -65,8 +71,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-9.0.1} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.4.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} ENV PATH=$PATH:/usr/lib/llvm10/bin RUN apk add --no-cache \ diff --git a/prior/9.0.2.Dockerfile b/prior/9.0.2.Dockerfile index 2910f83..99d9885 100644 --- a/prior/9.0.2.Dockerfile +++ b/prior/9.0.2.Dockerfile @@ -1,10 +1,16 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=9.0.2 +ARG CABAL_VERSION=3.4.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:8.10.7 as bootstrap -ENV GHC_VERSION=${GHC_VERSION_BUILD:-9.0.2} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.4.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk upgrade --no-cache \ && apk add --no-cache \ @@ -65,8 +71,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-9.0.2} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.4.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} ENV PATH=$PATH:/usr/lib/llvm10/bin RUN apk add --no-cache \ diff --git a/prior/9.2.1.Dockerfile b/prior/9.2.1.Dockerfile index 30ba4ca..9c06e3e 100644 --- a/prior/9.2.1.Dockerfile +++ b/prior/9.2.1.Dockerfile @@ -1,12 +1,18 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=9.2.1 +ARG CABAL_VERSION=3.6.0.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.0.2 as bootstrap COPY patches/* /tmp/ -ENV GHC_VERSION=${GHC_VERSION_BUILD:-9.2.1} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.6.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk upgrade --no-cache \ && apk add --no-cache \ @@ -70,8 +76,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-9.2.1} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.6.0.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk add --no-cache \ bash \ diff --git a/prior/9.2.2.Dockerfile b/prior/9.2.2.Dockerfile index dd84fa6..0705d0e 100644 --- a/prior/9.2.2.Dockerfile +++ b/prior/9.2.2.Dockerfile @@ -1,10 +1,16 @@ -ARG GHC_VERSION_BUILD -ARG CABAL_VERSION_BUILD +ARG GHC_VERSION=9.2.2 +ARG CABAL_VERSION=3.6.2.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.0.2 as bootstrap -ENV GHC_VERSION=${GHC_VERSION_BUILD:-9.2.2} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.6.2.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk upgrade --no-cache \ && apk add --no-cache \ @@ -65,8 +71,11 @@ LABEL org.label-schema.license="MIT" \ org.label-schema.vcs-url="https://gitlab.b-data.ch/ghc/ghc4pandoc" \ maintainer="Olivier Benz <olivier.benz@b-data.ch>" -ENV GHC_VERSION=${GHC_VERSION_BUILD:-9.2.2} -ENV CABAL_VERSION=${CABAL_VERSION_BUILD:-3.6.2.0} +ARG GHC_VERSION_BUILD +ARG CABAL_VERSION_BUILD + +ENV GHC_VERSION=${GHC_VERSION_BUILD} +ENV CABAL_VERSION=${CABAL_VERSION_BUILD} RUN apk add --no-cache \ bash \ diff --git a/prior/9.2.3.Dockerfile b/prior/9.2.3.Dockerfile index 11899a0..1465de0 100644 --- a/prior/9.2.3.Dockerfile +++ b/prior/9.2.3.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.2.3 -ARG CABAL_VERSION_BUILD=3.6.2.0 +ARG GHC_VERSION=9.2.3 +ARG CABAL_VERSION=3.6.2.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.0.2 as bootstrap diff --git a/prior/9.2.4.Dockerfile b/prior/9.2.4.Dockerfile index 5550645..9e27347 100644 --- a/prior/9.2.4.Dockerfile +++ b/prior/9.2.4.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.2.4 -ARG CABAL_VERSION_BUILD=3.6.2.0 +ARG GHC_VERSION=9.2.4 +ARG CABAL_VERSION=3.6.2.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.0.2 as bootstrap diff --git a/prior/9.2.5.Dockerfile b/prior/9.2.5.Dockerfile index 69a1bca..55ecfc0 100644 --- a/prior/9.2.5.Dockerfile +++ b/prior/9.2.5.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.2.5 -ARG CABAL_VERSION_BUILD=3.6.2.0 +ARG GHC_VERSION=9.2.5 +ARG CABAL_VERSION=3.6.2.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.0.2 as bootstrap diff --git a/prior/9.2.6.Dockerfile b/prior/9.2.6.Dockerfile index 8147719..c9f98ad 100644 --- a/prior/9.2.6.Dockerfile +++ b/prior/9.2.6.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.2.6 -ARG CABAL_VERSION_BUILD=3.6.2.0 +ARG GHC_VERSION=9.2.6 +ARG CABAL_VERSION=3.6.2.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.0.2 as bootstrap diff --git a/prior/9.2.7.Dockerfile b/prior/9.2.7.Dockerfile index 81ba50b..7a8d537 100644 --- a/prior/9.2.7.Dockerfile +++ b/prior/9.2.7.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.2.7 -ARG CABAL_VERSION_BUILD=3.6.2.0 +ARG GHC_VERSION=9.2.7 +ARG CABAL_VERSION=3.6.2.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.0.2 as bootstrap diff --git a/prior/9.2.8.Dockerfile b/prior/9.2.8.Dockerfile index e40fc49..30c1265 100644 --- a/prior/9.2.8.Dockerfile +++ b/prior/9.2.8.Dockerfile @@ -1,7 +1,10 @@ -ARG GHC_VERSION_BUILD=9.2.8 -ARG CABAL_VERSION_BUILD=3.6.2.0 +ARG GHC_VERSION=9.2.8 +ARG CABAL_VERSION=3.6.2.0 ARG STACK_VERSION=2.13.1 +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} + FROM glcr.b-data.ch/ghc/ghc-musl:9.0.2 as bootstrap ARG GHC_VERSION_BUILD diff --git a/prior/9.4.1.Dockerfile b/prior/9.4.1.Dockerfile index e4ba413..3438ba5 100644 --- a/prior/9.4.1.Dockerfile +++ b/prior/9.4.1.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.4.1 -ARG CABAL_VERSION_BUILD=3.8.1.0 +ARG GHC_VERSION=9.4.1 +ARG CABAL_VERSION=3.8.1.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.2.4 as bootstrap diff --git a/prior/9.4.2.Dockerfile b/prior/9.4.2.Dockerfile index 9316e38..dd75a9e 100644 --- a/prior/9.4.2.Dockerfile +++ b/prior/9.4.2.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.4.2 -ARG CABAL_VERSION_BUILD=3.8.1.0 +ARG GHC_VERSION=9.4.2 +ARG CABAL_VERSION=3.8.1.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.2.4 as bootstrap diff --git a/prior/9.4.3.Dockerfile b/prior/9.4.3.Dockerfile index ae190df..551b166 100644 --- a/prior/9.4.3.Dockerfile +++ b/prior/9.4.3.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.4.3 -ARG CABAL_VERSION_BUILD=3.8.1.0 +ARG GHC_VERSION=9.4.3 +ARG CABAL_VERSION=3.8.1.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.2.5 as bootstrap diff --git a/prior/9.4.4.Dockerfile b/prior/9.4.4.Dockerfile index f49fd9a..4c001b1 100644 --- a/prior/9.4.4.Dockerfile +++ b/prior/9.4.4.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.4.4 -ARG CABAL_VERSION_BUILD=3.8.1.0 +ARG GHC_VERSION=9.4.4 +ARG CABAL_VERSION=3.8.1.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM registry.gitlab.b-data.ch/ghc/ghc4pandoc:9.2.7 as bootstrap diff --git a/prior/9.4.5.Dockerfile b/prior/9.4.5.Dockerfile index 26229b2..97025c6 100644 --- a/prior/9.4.5.Dockerfile +++ b/prior/9.4.5.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.4.5 -ARG CABAL_VERSION_BUILD=3.8.1.0 +ARG GHC_VERSION=9.4.5 +ARG CABAL_VERSION=3.8.1.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM glcr.b-data.ch/ghc/ghc-musl:9.2.7 as bootstrap diff --git a/prior/9.4.6.Dockerfile b/prior/9.4.6.Dockerfile index 1983831..fe41f02 100644 --- a/prior/9.4.6.Dockerfile +++ b/prior/9.4.6.Dockerfile @@ -1,7 +1,10 @@ -ARG GHC_VERSION_BUILD=9.4.6 -ARG CABAL_VERSION_BUILD=3.8.1.0 +ARG GHC_VERSION=9.4.6 +ARG CABAL_VERSION=3.8.1.0 ARG STACK_VERSION=2.11.1 +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} + FROM glcr.b-data.ch/ghc/ghc-musl:9.2.8 as bootstrap ARG GHC_VERSION_BUILD diff --git a/prior/9.4.7.Dockerfile b/prior/9.4.7.Dockerfile index c4dba93..416f118 100644 --- a/prior/9.4.7.Dockerfile +++ b/prior/9.4.7.Dockerfile @@ -1,7 +1,10 @@ -ARG GHC_VERSION_BUILD=9.4.7 -ARG CABAL_VERSION_BUILD=3.8.1.0 +ARG GHC_VERSION=9.4.7 +ARG CABAL_VERSION=3.8.1.0 ARG STACK_VERSION=2.13.1 +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} + FROM glcr.b-data.ch/ghc/ghc-musl:9.2.8 as bootstrap ARG GHC_VERSION_BUILD diff --git a/prior/9.6.1.Dockerfile b/prior/9.6.1.Dockerfile index 6d49569..93965ea 100644 --- a/prior/9.6.1.Dockerfile +++ b/prior/9.6.1.Dockerfile @@ -1,5 +1,8 @@ -ARG GHC_VERSION_BUILD=9.6.1 -ARG CABAL_VERSION_BUILD=3.10.1.0 +ARG GHC_VERSION=9.6.1 +ARG CABAL_VERSION=3.10.1.0 + +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} FROM glcr.b-data.ch/ghc/ghc-musl:9.4.5 as bootstrap diff --git a/prior/9.6.2.Dockerfile b/prior/9.6.2.Dockerfile index 21de1a9..d2fc387 100644 --- a/prior/9.6.2.Dockerfile +++ b/prior/9.6.2.Dockerfile @@ -1,7 +1,10 @@ -ARG GHC_VERSION_BUILD=9.6.2 -ARG CABAL_VERSION_BUILD=3.10.1.0 +ARG GHC_VERSION=9.6.2 +ARG CABAL_VERSION=3.10.1.0 ARG STACK_VERSION=2.11.1 +ARG GHC_VERSION_BUILD=${GHC_VERSION} +ARG CABAL_VERSION_BUILD=${CABAL_VERSION} + FROM glcr.b-data.ch/ghc/ghc-musl:9.4.7 as bootstrap ARG GHC_VERSION_BUILD -- GitLab