summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2020-12-03 18:54:54 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-03-03 08:12:29 -0500
commitd8dc0f96237fe6fe7081c04727c7c2573477e5cb (patch)
treedbc4e8d25cf5a085e979df98bacad5999bf78aee /.gitlab-ci.yml
parenteea96042f1e8682605ae68db10f2bcdd7dab923e (diff)
downloadhaskell-d8dc0f96237fe6fe7081c04727c7c2573477e5cb.tar.gz
Fix array and cleanup conversion primops (#19026)
The first change makes the array ones use the proper fixed-size types, which also means that just like before, they can be used without explicit conversions with the boxed sized types. (Before, it was Int# / Word# on both sides, now it is fixed sized on both sides). For the second change, don't use "extend" or "narrow" in some of the user-facing primops names for conversions. - Names like `narrowInt32#` are misleading when `Int` is 32-bits. - Names like `extendInt64#` are flat-out wrong when `Int is 32-bits. - `narrow{Int,Word}<N>#` however map a type to itself, and so don't suffer from this problem. They are left as-is. These changes are batched together because Alex happend to use the array ops. We can only use released versions of Alex at this time, sadly, and I don't want to have to have a release thatwon't work for the final GHC 9.2. So by combining these we get all the changes for Alex done at once. Bump hackage state in a few places, and also make that workflow slightly easier for the future. Bump minimum Alex version Bump Cabal, array, bytestring, containers, text, and binary submodules
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml13
1 files changed, 9 insertions, 4 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fe6efd48d0..de1673ef9f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@ variables:
GIT_SSL_NO_VERIFY: "1"
# Commit of ghc/ci-images repository from which to pull Docker images
- DOCKER_REV: 0da9c4be73f2d73868f610d20352af856e8f2727
+ DOCKER_REV: 706cc974bfe7a54c5036185ddf4817d3a8fd5b0d
# Sequential version number capturing the versions of all tools fetched by
# .gitlab/ci.sh. Used for invalidation of GitLab CI cache.
@@ -16,6 +16,8 @@ variables:
GIT_SUBMODULE_STRATEGY: "recursive"
+ HACKAGE_INDEX_STATE: "2020-12-21T14:48:20Z"
+
# Reduce XZ compression level for regular jobs (it is bumped to 9 for releases
# and nightly jobs). In my experiments I've got the following bindist size in
# the given time for each compression level (with the quick flavour):
@@ -219,6 +221,7 @@ lint-release-changelogs:
BUILD_FLAVOUR: "validate"
script:
- .gitlab/ci.sh setup
+ - "cabal update --index=$HACKAGE_INDEX_STATE"
- .gitlab/ci.sh configure
- .gitlab/ci.sh build_hadrian
- .gitlab/ci.sh test_hadrian
@@ -319,8 +322,8 @@ hadrian-ghc-in-ghci:
script:
- git clean -xdf && git submodule foreach git clean -xdf
- .gitlab/ci.sh setup
+ - "cabal update --index=$HACKAGE_INDEX_STATE"
- .gitlab/ci.sh configure
- - cabal update
- cd hadrian; cabal new-build -j`../mk/detect-cpu-count.sh` --with-compiler=$GHC --project-file=ci.project; cd ..
# Load ghc-in-ghci then immediately exit and check the modules loaded
- echo ":q" | hadrian/ghci -j`mk/detect-cpu-count.sh`| tail -n2 | grep "Ok,"
@@ -349,7 +352,7 @@ hadrian-ghc-in-ghci:
- git submodule update --init --recursive
- git checkout .gitmodules
- .gitlab/ci.sh setup
- - cabal update
+ - "cabal update --index=$HACKAGE_INDEX_STATE"
- cd hadrian; cabal new-build -j`../mk/detect-cpu-count.sh` --with-compiler=$GHC --project-file=ci.project; cd ..
after_script:
- cp -Rf $HOME/.cabal cabal-cache
@@ -1195,6 +1198,8 @@ perf-nofib:
- if: '$CI_COMMIT_BRANCH =~ /ghc-[0.9]+\.[0-9]+/'
tags:
- x86_64-linux
+ before_script:
+ - "cabal update --index=$HACKAGE_INDEX_STATE"
script:
- root=$(pwd)/ghc
- |
@@ -1206,7 +1211,7 @@ perf-nofib:
popd
rm -Rf tmp
- export BOOT_HC=$GHC
- - cabal update; cabal install -w "$BOOT_HC" --lib regex-compat
+ - cabal install -w "$BOOT_HC" --lib regex-compat
- export PATH=$root/bin:$PATH
- make -C nofib boot mode=fast -j$CPUS
- "make -C nofib EXTRA_RUNTEST_OPTS='-cachegrind +RTS -V0 -RTS' NoFibRuns=1 mode=fast -j$CPUS 2>&1 | tee nofib.log"