Skip to content

Commit 9d94353

Browse files
CI: Downgrade Cabal for GHC 8.10.7 (#2899)
Cabal 3.14 silently ignores `haddock-options` in `cabal.project`. The change is deliberate (though not warning about it probably is not). The change is documented in some places: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.14.0.0.md https://github.com/haskell/cabal/blob/master/release-notes/WIP-Cabal-3.12.x.0.md haskell/cabal#9177 (Note that the deprecation message apparently never made it to the release notes) We should probably think about how to fix this in the future, but for now rolling back to Cabal 3.12 will allow us to build the documentation as we want to again. The mentioned `haddock-version-cpp` flag in the linked cabal PR 9177 above to get a CPP define for `__HADDOCK_VERSION__` did not work at all for me. PR #2201 was supposed to update our Haddock generation to 9.0.2 but accidentally picked 8.10.7 for the uploads to Hackage, which also fixed issue #2200. I'm careful about upgrading Haddock now as I've experienced several times now that there were undocumented changes going from one version to the next that broke some rendering, and carefully rereading our complete Haddock to scan for such breakage is an impossible task. One day we'll have to upgrade, when we drop GHC 8.10 from Clash.
1 parent 207cb91 commit 9d94353

File tree

6 files changed

+7
-9
lines changed

6 files changed

+7
-9
lines changed

.ci/docker/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ RUN git clone https://github.com/verilator/verilator verilator \
111111

112112
FROM builder AS build-ghc
113113

114-
ARG ghcup_version="0.1.30.0"
114+
ARG ghcup_version="0.1.40.0"
115115

116116
# Must be explicitly set
117117
ARG ghc_version

.ci/docker/build-and-publish-docker-image.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ elif [[ "$1" != "" ]]; then
1313
echo "Unrecognized argument: $1" >&2
1414
exit 1
1515
fi
16-
17-
UBUNTU_VERSION=jammy-20240808
16+
UBUNTU_VERSION=jammy-20250126
1817
GHC_VERSIONS=("9.10.1" "9.8.4" "9.6.6" "9.4.8" "9.2.8" "9.0.2" "8.10.7")
19-
CABAL_VERSION="3.14.1.0"
18+
CABAL_VERSIONS=("3.14.1.1" "3.14.1.1" "3.14.1.1" "3.14.1.1" "3.14.1.1" "3.14.1.1" "3.12.1.0")
2019

2120
# We want to use docker buildkit so that our layers are built in parallel. This
2221
# is ignored completely on versions of docker which don't support buildkit.
@@ -25,6 +24,7 @@ export DOCKER_BUILDKIT=1
2524
for i in "${!GHC_VERSIONS[@]}"
2625
do
2726
GHC_VERSION="${GHC_VERSIONS[i]}"
27+
CABAL_VERSION="${CABAL_VERSIONS[i]}"
2828

2929
docker build \
3030
--build-arg UBUNTU_VERSION=${UBUNTU_VERSION} \

.ci/gitlab/benchmark.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
.benchmark:
2-
image: ghcr.io/clash-lang/clash-ci:$GHC_VERSION-20250101
2+
image: ghcr.io/clash-lang/clash-ci:$GHC_VERSION-20250305
33
stage: test
44
timeout: 2 hours
55
variables:

.ci/gitlab/common.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ default:
1212
timeout: 10 minutes
1313
stage: build
1414
variables:
15-
CLASH_DOCKER_TAG: 20250101
15+
CLASH_DOCKER_TAG: 20250305
1616
CACHE_BUST_TOKEN: 3
1717
# Note that we copy+paste the image name into CACHE_FALLBACK_KEY. If we don't,
1818
# $GHC_VERSION gets inserted at verbatim, instead of resolving to some ghc version.

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ jobs:
159159

160160
# Run steps inside the clash CI docker image
161161
container:
162-
image: ghcr.io/clash-lang/clash-ci:${{ matrix.ghc }}-20250101
162+
image: ghcr.io/clash-lang/clash-ci:${{ matrix.ghc }}-20250305
163163

164164
env:
165165
THREADS: 2

.gitlab-ci.yml

-2
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,6 @@ haddock:
9696
extends: .common-local
9797
needs: []
9898
stage: test
99-
variables:
100-
GHC_VERSION: 9.0.2
10199
artifacts:
102100
paths:
103101
- hadocs/*/*

0 commit comments

Comments
 (0)