Skip to content
Snippets Groups Projects
Verified Commit b4a42a1d authored by Olivier Benz's avatar Olivier Benz
Browse files

Update GHC to v9.8.1

- Dev Container: Add 'GHC 9.8 (latest)'
parent 1c12d9a7
No related merge requests found
Pipeline #24447 passed
......@@ -4,7 +4,8 @@
| GHC | Cabal[^1] | Stack[^1] | HLS |
|:----------------------------|:----------|:------------|:--------------------------------------------------- |
| latest<br>9.6.3<br>9.6<br>9 | 3.10.1.0 | ≥ 2.13.1 | latest<br>2.4.0.0<br>2.3.0.0<br>2.2.0.0 |
| latest<br>9.8.1<br>9.8<br>9 | 3.10.1.0 | ≥ 2.13.1 | latest<br>2.4.0.0 |
| 9.6.3<br>9.6 | 3.10.1.0 | ≥ 2.13.1 | 2.4.0.0<br>2.3.0.0<br>2.2.0.0 |
| 9.4.7<br>9.4 | 3.8.1.0 | ≥ 2.13.1 | 2.4.0.0<br>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.4.0.0<br>2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1 |
......
{
"name": "GHC 9.6 (latest)",
"name": "GHC 9.6",
"build": {
"dockerfile": "../GHC.Dockerfile",
"context": "..",
......
{
"name": "GHC 9.8 (latest)",
"build": {
"dockerfile": "../GHC.Dockerfile",
"context": "..",
"args": {
"GHC_VERSION": "9.8",
"HLS_VERSION": "2.4.0.0",
"USE_ZSH_FOR_ROOT": "unset-to-use-ash",
"SET_LANG": "C.UTF-8",
"SET_TZ": ""
}
},
"onCreateCommand": "onCreateCommand.sh",
"postCreateCommand": "cabal update",
"postAttachCommand": "${HOME}/.local/bin/checkForUpdates.sh",
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {
"configureZshAsDefaultShell": true,
"upgradePackages": false,
"username": "vscode",
"userUid": "automatic",
"userGid": "automatic"
}
},
"customizations": {
"vscode": {
"extensions": [
"alefragnani.project-manager",
"christian-kohler.path-intellisense",
"eamodio.gitlens@11.7.0",
"editorconfig.editorconfig",
"exiasr.hadolint",
"GitHub.vscode-pull-request-github",
"GitLab.gitlab-workflow",
"haskell.haskell",
"mhutchie.git-graph",
"ms-vscode.makefile-tools",
"mutantdino.resourcemonitor",
"piotrpalarz.vscode-gitignore-generator",
"timonwong.shellcheck"
],
"settings": {
"gitlab.aiAssistedCodeSuggestions.enabled": false,
"gitlens.showWelcomeOnInstall": false,
"gitlens.showWhatsNewAfterUpgrades": false,
"haskell.manageHLS": "PATH",
"resmon.show.battery": false,
"resmon.show.cpufreq": false
}
}
},
// Set 'remoteUser' to 'root' to connect as root instead.
"remoteUser": "vscode",
"workspaceMount": "source=ghc-musl-ghc-9.8-home-vscode,target=/home/vscode,type=volume",
// "workspaceMount": "source=${localWorkspaceFolder}/.devcontainer/bind-mounts/ghc-musl-ghc-9.8-home-vscode,target=/home/vscode,type=bind",
"workspaceFolder": "/home/vscode",
// "remoteUser": "root",
// "workspaceMount": "source=ghc-musl-ghc-9.8-root,target=/root,type=volume",
// // "workspaceMount": "source=${localWorkspaceFolder}/.devcontainer/bind-mounts/ghc-musl-ghc-9.8-root,target=/root,type=bind",
// "workspaceFolder": "/root",
// Pip: Install packages to the user site
"remoteEnv": {
"PIP_USER": "1"
}
}
.env:
variables:
GHC_VERSION: "9.6.3"
GHC_VERSION: "9.8.1"
CABAL_VERSION: "3.10.1.0"
STACK_VERSION: "2.13.1"
HLS_VERSION: "2.4.0.0"
......@@ -223,13 +223,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: $BUILD_GHC == "true" && $CI_COMMIT_BRANCH == "freeze-version"
changes:
......@@ -380,13 +373,6 @@ build-package-hls-manifest:version-linux-multiarch:
$CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION-linux-arm64v8
fi
docker manifest push $CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION
- |
docker manifest create $CI_APP_REPO/$VERSION_MAJ_MIN/hls:$HLS_VERSION $CI_MANIFEST_LIST
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO/$VERSION_MAJ_MIN/hls:$HLS_VERSION \
$CI_APP_REPO/$CI_APP_TAG/hls:$HLS_VERSION-linux-arm64v8
fi
docker manifest push $CI_APP_REPO/$VERSION_MAJ_MIN/hls:$HLS_VERSION
rules:
- if: $BUILD_HLS == "true" && $CI_COMMIT_BRANCH == "freeze-version"
changes:
......@@ -526,12 +512,5 @@ update-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: $UPDATE_STACK == "true" && $CI_COMMIT_BRANCH == "freeze-version"
......@@ -46,7 +46,7 @@ To install docker, follow the instructions for your platform:
```bash
docker build \
--build-arg GHC_VERSION=9.6.3 \
--build-arg GHC_VERSION=9.8.1 \
--build-arg CABAL_VERSION=3.10.1.0 \
--build-arg STACK_VERSION=2.13.1 \
-t ghc-musl \
......
......@@ -4,6 +4,7 @@ Topmost entry = Tag `latest`
| GHC | Cabal | Stack | LLVM | Linux distro |
|:-----------|:---------|:-----------|:---- |:-------------|
| 9.8.1 | 3.10.1.0 | 2.13.1 | 14 | Alpine 3.18 |
| 9.6.3 | 3.10.1.0 | 2.13.1 | 14 | Alpine 3.18 |
| 9.6.2 | 3.10.1.0 | 2.11.1[^1] | 14 | Alpine 3.18 |
| 9.6.1 | 3.10.1.0 | n/a | 14 | Alpine 3.18 |
......
......@@ -5,7 +5,7 @@ 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
FROM glcr.b-data.ch/ghc/ghc-musl:9.6.3 as bootstrap
ARG GHC_VERSION_BUILD
ARG CABAL_VERSION_BUILD
......@@ -36,9 +36,9 @@ RUN cd /tmp \
&& curl -sSLO https://downloads.haskell.org/~ghc/"$GHC_VERSION"/ghc-"$GHC_VERSION"-src.tar.xz \
&& curl -sSLO https://downloads.haskell.org/~ghc/"$GHC_VERSION"/ghc-"$GHC_VERSION"-src.tar.xz.sig \
&& gpg --keyserver hkps://keyserver.ubuntu.com:443 \
--receive-keys 33C3A599DB85EA9B8BAA1866B202264020068BFB || \
--receive-keys FFEB7CE81E16A36B3E2DED6F2DE04D4E97DB64AD || \
gpg --keyserver hkp://keyserver.ubuntu.com:80 \
--receive-keys 33C3A599DB85EA9B8BAA1866B202264020068BFB \
--receive-keys FFEB7CE81E16A36B3E2DED6F2DE04D4E97DB64AD \
&& gpg --verify "ghc-$GHC_VERSION-src.tar.xz.sig" "ghc-$GHC_VERSION-src.tar.xz" \
&& tar -xJf "ghc-$GHC_VERSION-src.tar.xz" \
&& cd "ghc-$GHC_VERSION" \
......@@ -133,7 +133,7 @@ RUN cd /tmp \
&& rm -rf /tmp/*
## Install Cabal
COPY --from=bootstrap /root/.cabal/bin/cabal /usr/local/bin/cabal
COPY --from=bootstrap /root/.local/bin/cabal /usr/local/bin/cabal
FROM builder as tester
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment