diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml index 9faf19f..abb1eae 100644 --- a/.github/workflows/haskell.yml +++ b/.github/workflows/haskell.yml @@ -17,17 +17,24 @@ jobs: strategy: fail-fast: false matrix: - ghc: ["9.2.2", "9.0.2", "8.10.7", "8.8.4", "8.6.5"] - os: [ubuntu-latest, windows-latest] + ghc: ["9.8.1", "9.6.3", "9.4.8", "9.2.8", "9.0.2", "8.10.7"] + os: [ubuntu-latest, macOS-latest, windows-latest] + exclude: + - os: windows-latest + ghc: "9.4.2" + + env: + # Modify this value to "invalidate" the cabal cache. + CABAL_CACHE_VERSION: "2024-01-05" steps: - uses: actions/checkout@v2 - - uses: haskell/actions/setup@v1 + - uses: haskell-actions/setup@v2 id: setup-haskell with: ghc-version: ${{ matrix.ghc }} - cabal-version: 3.6.2.0 + cabal-version: '3.10.2.1' - name: Set some window specific things if: matrix.os == 'windows-latest' @@ -36,9 +43,11 @@ jobs: - name: Configure project run: | cabal configure --enable-tests --enable-benchmarks --write-ghc-environment-files=ghc8.4.4+ - # APPEND=1 ./scripts/gen-cabal-project-local.sh - # echo "cabal.project.local:" - # cat cabal.project.local + cat >> cabal.project.local <= 4.11 && < 5 } common bits-extra { build-depends: bits-extra >= 0.0.1.2 && < 0.1 } -common bytestring { build-depends: bytestring >= 0.10 && < 0.12 } +common bytestring { build-depends: bytestring >= 0.10 && < 0.13 } common cassava { build-depends: cassava >= 0.5.1.0 && < 0.6 } -common containers { build-depends: containers >= 0.5 && < 0.7 } +common containers { build-depends: containers >= 0.5 && < 0.8 } common criterion { build-depends: criterion >= 1.4.1.0 && < 1.7 } -common deepseq { build-depends: deepseq >= 1.4 && < 1.5 } +common deepseq { build-depends: deepseq >= 1.4 && < 1.6 } common directory { build-depends: directory >= 1.2.2 && < 1.4 } -common doctest { build-depends: doctest >= 0.16.2 && < 0.21 } +common doctest { build-depends: doctest >= 0.16.2 && < 0.23 } common doctest-discover { build-depends: doctest-discover >= 0.2 && < 0.3 } -common hedgehog { build-depends: hedgehog >= 0.5 && < 1.3 } +common hedgehog { build-depends: hedgehog >= 0.5 && < 1.5 } common hspec { build-depends: hspec >= 2.4 && < 3 } common hw-bits { build-depends: hw-bits >= 0.7.0.2 && < 0.8 } common hw-hedgehog { build-depends: hw-hedgehog >= 0.1.0.1 && < 0.2 }