From 87adaf4512727f1d52a23dd134c3e36adb1eae08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Czajka?= <62751+lukaszcz@users.noreply.github.com> Date: Fri, 13 Sep 2024 15:26:43 +0200 Subject: [PATCH] Update to GHC 9.10.1 (#2991) Since GHC 9.8.2 has a bug which blocks our development (see https://github.com/anoma/juvix/pull/2977#issuecomment-2325866056), I made a PR to update to GHC 9.10.1. Because stackage doesn't yet support GHC 9.10.1, I had to add some explicit dependencies and use `allow-newer-deps` in `stack.yaml`. I think we should merge this not to get blocked by the bug, and later clean up `stack.yaml` when GHC 9.10.1 becomes supported on stackage. --------- Co-authored-by: Paul Cadman --- .github/workflows/ci.yml | 38 +++++++++++++++++++++++++++++++++- package.yaml | 10 ++++----- src/Juvix/Data/Effect/Cache.hs | 1 + src/Juvix/Prelude.hs | 2 +- stack.yaml | 34 +++++++++++++++++++++++++++++- 5 files changed, 77 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aa0c926f83..4d25db6b0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ env: CAIRO_VM_VERSION: 06e8ddbfa14eef85f56c4d7b7631c17c9b0a248e RISC0_VM_VERSION: v1.0.1 JUST_ARGS: runtimeCcArg=$CC runtimeLibtoolArg=$LIBTOOL - STACK_BUILD_ARGS: --pedantic -j4 --ghc-options=-j + STACK_BUILD_ARGS: --pedantic -j4 --ghc-options=-j --stack-yaml=stack.yaml jobs: pre-commit: @@ -77,6 +77,42 @@ jobs: build-and-test-linux: runs-on: ubuntu-22.04 steps: + - name: Free disk space + run: | + df -h + echo "/usr/local" + du -hsc /usr/local/* + sudo rm -rf \ + /usr/local/aws-sam-cil \ + /usr/local/julia* || : + echo "end /usr/local" + echo "/usr/local/lib" + du -hsc /usr/local/lib/* + sudo rm -rf \ + /usr/local/lib/android \ + /usr/local/lib/heroku \ + /usr/local/lib/node_modules || : + echo "end /usr/local/lib" + echo "/usr/local/share" + du -hsc /usr/local/share/* + sudo rm -rf \ + /usr/local/share/chromium \ + /usr/local/share/powershell || : + echo "end /usr/local/share" + echo "/opt/hostedtoolcache/" + du -hsc /opt/hostedtoolcache/* + sudo rm -rf \ + /opt/hostedtoolcache/CodeQL \ + /opt/hostedtoolcache/go \ + /opt/hostedtoolcache/PyPy \ + /opt/hostedtoolcache/node || : + echo "end /opt/hostedtoolcache/*" + sudo apt purge -y \ + firefox \ + google-chrome-stable \ + microsoft-edge-stable + df -h + - uses: extractions/setup-just@v2 - name: Checkout our repository diff --git a/package.yaml b/package.yaml index 2237be6719..d981343923 100644 --- a/package.yaml +++ b/package.yaml @@ -12,7 +12,7 @@ author: Lukasz Czajka, Github's contributors, ] -tested-with: ghc == 9.8.2 +tested-with: ghc == 9.10.1 homepage: https://juvix.org bug-reports: https://github.com/anoma/juvix/issues description: The Juvix compiler @@ -48,7 +48,7 @@ dependencies: - aeson-better-errors == 0.9.* - aeson == 2.2.* - ansi-terminal == 1.1.* - - base == 4.19.* + - base == 4.20.* - base16-bytestring == 1.0.* - bitvec == 1.1.* - blaze-html == 0.9.* @@ -63,14 +63,14 @@ dependencies: - edit-distance == 0.2.* - effectful == 2.3.* - effectful-core == 2.3.* - - effectful-th == 1.0.* + - effectful-th == 1.0.0.2 - exceptions == 0.10.* - extra == 1.7.* - file-embed == 0.0.* - filelock == 0.1.* - filepath == 1.4.* - flatparse == 0.5.* - - ghc == 9.8.2 + - ghc == 9.10.1 - githash == 0.1.* - hashable == 1.4.* - language-c == 0.9.* @@ -95,7 +95,7 @@ dependencies: - stm == 2.5.* - Stream == 0.4.* - string-interpolate == 0.3.* - - template-haskell == 2.21.* + - template-haskell == 2.22.* - temporary == 1.3.* - text == 2.1.* - th-utilities == 0.2.* diff --git a/src/Juvix/Data/Effect/Cache.hs b/src/Juvix/Data/Effect/Cache.hs index cfa3e58d34..70fea93043 100644 --- a/src/Juvix/Data/Effect/Cache.hs +++ b/src/Juvix/Data/Effect/Cache.hs @@ -1,3 +1,4 @@ +{-# OPTIONS_GHC -Wno-redundant-constraints #-} {-# OPTIONS_GHC -Wno-unused-type-patterns #-} module Juvix.Data.Effect.Cache diff --git a/src/Juvix/Prelude.hs b/src/Juvix/Prelude.hs index 58535957ee..cfd1791584 100644 --- a/src/Juvix/Prelude.hs +++ b/src/Juvix/Prelude.hs @@ -11,7 +11,7 @@ module Juvix.Prelude where import Juvix.Data -import Juvix.Prelude.Base +import Juvix.Prelude.Base hiding (List) import Juvix.Prelude.Generic import Juvix.Prelude.Lens import Juvix.Prelude.Path diff --git a/stack.yaml b/stack.yaml index 4b65f7e81d..cf9fcc6ca0 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,14 +1,46 @@ ghc-options: "$locals": -optP-Wno-nonportable-include-path resolver: nightly-2024-05-31 +compiler: ghc-9.10.1 +compiler-check: match-exact extra-deps: - git: https://github.com/haskell-effectful/effectful.git - commit: 2037be9a4f4e8f8fd280d9359b1bc7feff9b29b9 + commit: 2a8f0b3a0536c578ee1ff83311863a27e9d3e2e1 subdirs: - effectful-th - git: https://github.com/Vekhir/aeson-better-errors.git commit: 1ec49ab7d1472046b680b5a64ae2930515b47714 + - Cabal-syntax-3.10.3.0@sha256:c2ca36499bf9365726968b1e11a757e6d846c47cdf0c2c26a003698fd3c300fe,7431 + - directory-1.3.8.5@sha256:fbeec9ec346e5272167f63dcb86af513b457a7b9fc36dc818e4c7b81608d612b,3166 + - filepath-1.4.300.2@sha256:345cbb1afe414a09e47737e4d14cbd51891a734e67c0ef3d77a1439518bb81e8,5900 + - haskeline-0.8.2.1@sha256:40096f75591b5391aa99c5ed87148da0e9288ca4be302dd9e5c4326f814089ba,6117 + - process-1.6.21.0@sha256:685bc68759da31b5f152092fe664e1644e84f6dc0ae7a6c143e8564a1d6dafe8,2644 + - unix-2.8.5.1@sha256:3f702a252a313a7bcb56e3908a14e7f9f1b40e41b7bdc8ae8a9605a1a8686f06,9808 + - containers-0.6.8@sha256:bb2bec1bbc6b39a7c97cd95e056a5698ec45beb5d8feb6caae12af64e4bd823c,2670 + - binary-0.8.9.2@sha256:03381e511429c44d13990c6d76281c4fc2468371cede4fe684b0c98d9b7d5f5a,6611 + - parsec-3.1.17.0@sha256:8407cbd428d7f640a0fff8891bd2f7aca13cebe70a5e654856f8abec9a648b56,5149 + - text-2.1.1@sha256:78c3fb91055d0607a80453327f087b9dc82168d41d0dca3ff410d21033b5e87d,10653 + - th-abstraction-0.6.0.0@sha256:313760d630851a0eba6bdcb1a1eb543c4c9c583072d704067fa3248a5252a8ae,2303 + - bytestring-0.12.1.0@sha256:98e79e1c97117143e4012983509ec95f7e5e4f6adff6914d07812a39f83404b9,9473 + - exceptions-0.10.8@sha256:c31fd9b35d36196cbb14ffa5fca4de49868fd39acfeddd601fb77e742554aa67,2892 + - template-haskell-2.22.0.0@sha256:463e87c76794859c861c95517329483282af8b079c02084755cc4bd1ae41d5ae,2151 + - th-desugar-1.17 + - polysemy-1.9.2.0 + - singletons-th-3.4 + - singletons-base-3.4 + - lens-5.3.2 allow-newer: true allow-newer-deps: - aeson-better-errors - effectful-th + - juvix + - cborg + - palette + - serialise + - string-interpolate + - tasty-hedgehog + - unicode-data + - unicode-transforms + - unliftio-core + - uuid-types + - versions