diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2020-12-03 18:54:54 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-03-03 08:12:29 -0500 |
commit | d8dc0f96237fe6fe7081c04727c7c2573477e5cb (patch) | |
tree | dbc4e8d25cf5a085e979df98bacad5999bf78aee /.gitlab-ci.yml | |
parent | eea96042f1e8682605ae68db10f2bcdd7dab923e (diff) | |
download | haskell-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.yml | 13 |
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" |