diff --git a/.github/workflows/cabal.yml b/.github/workflows/cabal.yml index f92a9585..491a24ad 100644 --- a/.github/workflows/cabal.yml +++ b/.github/workflows/cabal.yml @@ -2,11 +2,9 @@ on: push: branches: - master - - ci* pull_request: branches: - master - - ci* name: Cabal jobs: build: @@ -14,8 +12,8 @@ jobs: strategy: fail-fast: false matrix: - ghc: ['9.6.2', '9.4.5', '9.2.8', '9.0.2'] - cabal: ['3.10.1.0'] + ghc: ['9.8', '9.6', '9.4', '9.2'] + cabal: ['latest'] os: [ubuntu-latest] name: Cabal with GHC ${{ matrix.ghc }} steps: diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 9e17c701..79a87d2c 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -6,22 +6,20 @@ # # haskell-ci regenerate # -# For more information, see https://github.com/haskell-CI/haskell-ci +# For more information, see https://github.com/andreasabel/haskell-ci # -# version: 0.16.6.20230729 +# version: 0.17.20231012 # -# REGENDATA ("0.16.6.20230729",["github","hackage-server.cabal"]) +# REGENDATA ("0.17.20231012",["github","hackage-server.cabal"]) # name: Haskell-CI on: push: branches: - master - - ci* pull_request: branches: - master - - ci* jobs: linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} @@ -34,14 +32,19 @@ jobs: strategy: matrix: include: - - compiler: ghc-9.6.2 + - compiler: ghc-9.8.1 compilerKind: ghc - compilerVersion: 9.6.2 + compilerVersion: 9.8.1 setup-method: ghcup allow-failure: false - - compiler: ghc-9.4.5 + - compiler: ghc-9.6.3 compilerKind: ghc - compilerVersion: 9.4.5 + compilerVersion: 9.6.3 + setup-method: ghcup + allow-failure: false + - compiler: ghc-9.4.7 + compilerKind: ghc + compilerVersion: 9.4.7 setup-method: ghcup allow-failure: false - compiler: ghc-9.2.8 @@ -73,6 +76,7 @@ jobs: mkdir -p "$HOME/.ghcup/bin" curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" + "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml; "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false) "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false) apt-get update @@ -88,10 +92,12 @@ jobs: echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV" echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV" HCDIR=/opt/$HCKIND/$HCVER - HC=$HOME/.ghcup/bin/$HCKIND-$HCVER + HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER") + HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#') + HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#') echo "HC=$HC" >> "$GITHUB_ENV" - echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV" - echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV" + echo "HCPKG=$HCPKG" >> "$GITHUB_ENV" + echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV" echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV" HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))') echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV" diff --git a/cabal.haskell-ci b/cabal.haskell-ci index 8f39d5cf..391b2ebb 100644 --- a/cabal.haskell-ci +++ b/cabal.haskell-ci @@ -1,4 +1,4 @@ -branches: master ci* +branches: master installed: +all -Cabal -Cabal-syntax -text -parsec -process diff --git a/hackage-server.cabal b/hackage-server.cabal index fc0f51c8..a09731d0 100644 --- a/hackage-server.cabal +++ b/hackage-server.cabal @@ -28,8 +28,9 @@ license: BSD-3-Clause license-file: LICENSE tested-with: - GHC == 9.6.2 - GHC == 9.4.5 + GHC == 9.8.1 + GHC == 9.6.3 + GHC == 9.4.7 GHC == 9.2.8 GHC == 9.0.2 GHC == 8.10.7 @@ -130,8 +131,8 @@ common defaults , array >= 0.5 && < 0.6 , base >= 4.13 && < 4.20 , binary >= 0.8 && < 0.9 - , bytestring >= 0.10 && < 0.12 - , containers ^>= 0.6.0 + , bytestring >= 0.10 && < 0.13 + , containers >= 0.6.0 && < 0.8 , deepseq >= 1.4 && < 1.6 , directory >= 1.3 && < 1.4 , filepath >= 1.4 && < 1.5 @@ -139,7 +140,7 @@ common defaults -- we use Control.Monad.Except, introduced in mtl-2.2.1 , pretty >= 1.1 && < 1.2 , process >= 1.6 && < 1.7 - , text ^>= 1.2.5.0 || ^>= 2.0 + , text ^>= 1.2.5.0 || >= 2.0 && < 2.2 , time >= 1.9 && < 1.13 , transformers >= 0.5 && < 0.7 , unix >= 2.7 && < 2.9 @@ -450,7 +451,7 @@ library lib-server , stm ^>= 2.5.0 , stringsearch ^>= 0.3.6.6 , tagged ^>= 0.8.5 - , xhtml ^>= 3000.2 + , xhtml ^>= 3000.2.0.0 , xmlgen ^>= 0.6 , xss-sanitize ^>= 0.3.6 @@ -579,12 +580,12 @@ test-suite ReverseDependenciesTest main-is: ReverseDependenciesTest.hs build-tool-depends: hackage-server:hackage-server build-depends: - , tasty ^>= 1.4 + , tasty ^>= 1.5 , tasty-golden ^>= 2.3 , tasty-hedgehog ^>= 1.4 , tasty-hunit ^>= 0.10 , HUnit ^>= 1.6 - , hedgehog ^>= 1.3 + , hedgehog ^>= 1.4 , exceptions , bimap , mime-mail @@ -649,7 +650,7 @@ test-suite PackageTests build-depends: -- version constraints inherited from lib-server -- component-specific dependencies - , tasty ^>= 1.4 + , tasty ^>= 1.5 , tasty-hunit ^>= 0.10 , HUnit ^>= 1.6 @@ -667,7 +668,7 @@ test-suite HashTests , cryptohash-sha256 , safecopy -- component-specific dependencies - , tasty ^>= 1.4 + , tasty ^>= 1.5 , tasty-hunit ^>= 0.10 test-suite DocTests