From d628cbd8cbd5ef09e963b7b8375318209f031631 Mon Sep 17 00:00:00 2001
From: konsumlamm <konsumlamm@gmail.com>
Date: Fri, 15 Sep 2023 14:18:45 +0200
Subject: [PATCH] Fix CI

---
 .github/workflows/haskell-ci.yml | 14 +++++---------
 bench/stm-bench.cabal            |  4 ++--
 cabal.haskell-ci                 |  5 +++--
 testsuite/testsuite.cabal        |  2 +-
 4 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml
index 3486518..80d6f88 100644
--- a/.github/workflows/haskell-ci.yml
+++ b/.github/workflows/haskell-ci.yml
@@ -215,7 +215,7 @@ jobs:
           touch cabal.project
           echo "packages: $GITHUB_WORKSPACE/source/." >> cabal.project
           echo "packages: $GITHUB_WORKSPACE/source/testsuite" >> cabal.project
-          echo "packages: $GITHUB_WORKSPACE/source/bench" >> cabal.project
+          if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/bench" >> cabal.project ; fi
           cat cabal.project
       - name: sdist
         run: |
@@ -238,7 +238,7 @@ jobs:
           touch cabal.project.local
           echo "packages: ${PKGDIR_stm}" >> cabal.project
           echo "packages: ${PKGDIR_testsuite}" >> cabal.project
-          echo "packages: ${PKGDIR_stm_bench}" >> cabal.project
+          if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then echo "packages: ${PKGDIR_stm_bench}" >> cabal.project ; fi
           if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package stm" >> cabal.project ; fi
           if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "    ghc-options: -Werror=missing-methods" >> cabal.project ; fi
           if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package testsuite" >> cabal.project ; fi
@@ -247,7 +247,7 @@ jobs:
           if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "    ghc-options: -Werror=missing-methods" >> cabal.project ; fi
           cat >> cabal.project <<EOF
           EOF
-          $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(random|stm|stm-bench|testsuite)$/; }' >> cabal.project.local
+          $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(exceptions|filepath|stm|stm-bench|testsuite)$/; }' >> cabal.project.local
           cat cabal.project
           cat cabal.project.local
       - name: dump install plan
@@ -260,10 +260,6 @@ jobs:
           key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
           path: ~/.cabal/store
           restore-keys: ${{ runner.os }}-${{ matrix.compiler }}-
-      - name: install dependencies
-        run: |
-          $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --dependencies-only -j2 all
-          $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dependencies-only -j2 all
       - name: build w/o tests
         run: |
           $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
@@ -279,8 +275,8 @@ jobs:
           ${CABAL} -vnormal check
           cd ${PKGDIR_testsuite} || false
           ${CABAL} -vnormal check
-          cd ${PKGDIR_stm_bench} || false
-          ${CABAL} -vnormal check
+          if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then cd ${PKGDIR_stm_bench} || false ; fi
+          if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then ${CABAL} -vnormal check ; fi
       - name: haddock
         run: |
           $CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
diff --git a/bench/stm-bench.cabal b/bench/stm-bench.cabal
index ae915f5..ac645af 100644
--- a/bench/stm-bench.cabal
+++ b/bench/stm-bench.cabal
@@ -6,13 +6,13 @@ synopsis:            External testsuite for stm package
 category:            Benchmarking
 license:             BSD-3-Clause
 maintainer:          libraries@haskell.org
-tested-with:         GHC==9.6.2, GHC==9.4.7, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2
+tested-with:         GHC==9.6.2, GHC==9.4.7, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2
 description:
   The benchmarks are in a separate project to avoid cyclic dependencies.
 
 benchmark chanbench
     type:             exitcode-stdio-1.0
     main-is:          ChanBench.hs
-    build-depends:    base, stm, async, tasty, tasty-bench
+    build-depends:    base >= 4.9 && < 4.20, stm, async >= 2.0, tasty, tasty-bench
     default-language: Haskell2010
     ghc-options:      -O2 -threaded -with-rtsopts=-N
diff --git a/cabal.haskell-ci b/cabal.haskell-ci
index 812858e..7e4aef0 100644
--- a/cabal.haskell-ci
+++ b/cabal.haskell-ci
@@ -1,2 +1,3 @@
-tests:       <7.2.1 || >=7.2.2
-installed:   +all -random
+jobs-selection:         any
+install-dependencies:   False
+installed:              +all -exceptions -filepath
diff --git a/testsuite/testsuite.cabal b/testsuite/testsuite.cabal
index 952795d..863057f 100644
--- a/testsuite/testsuite.cabal
+++ b/testsuite/testsuite.cabal
@@ -35,7 +35,7 @@ test-suite stm
 
   --
   build-depends:
-    , base                   >= 4.3 && < 4.20
+    , base                   >= 4.4 && < 4.20
     , test-framework        ^>= 0.8.2.0
     , test-framework-hunit  ^>= 0.3.0.2
     , HUnit                 ^>= 1.6.0.0
-- 
GitLab