From d7068364b1582360633ca693340400630090cf06 Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Sat, 25 May 2024 09:53:32 +0200 Subject: [PATCH] Allow lens-5.3, QuickCheck-2.15; bump CI --- .github/workflows/ci.yml | 26 ++++++++++++++++---------- .gitignore | 2 ++ snap.cabal | 5 +++-- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc27698c..4b90214e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,20 +35,22 @@ jobs: - "9.4" - "9.6" - "9.8" + - "9.10" # TODO: HsOpenSSL fails to build on Windows and macOS without openssl. # include: # - { os: macOS-latest, ghc: "9.8" } # - { os: windows-latest, ghc: "9.8" } steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Haskell uses: haskell-actions/setup@v2 id: setup with: ghc-version: ${{ matrix.ghc }} - cabal-version: ${{ matrix.cabal }} + cabal-version: latest + cabal-update: true - name: Configure run: | @@ -95,35 +97,39 @@ jobs: # GHC version must match https://www.stackage.org/nightly - stack: "latest" ghc: "9.8" + resolver: "nightly-2024-05-21" + # Note: this resolver is only a placeholder; + # it is overwritten later by `stack config set resolver nightly`. steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: haskell-actions/setup@v2 name: Setup Haskell Stack + id: setup with: ghc-version: ${{ matrix.ghc }} + enable-stack: true stack-version: ${{ matrix.stack }} + cabal-update: false + - name: Configure run: | cat < stack.yaml packages: - '.' - resolver: nightly-2023-07-19 - extra-deps: - - 'clientsession-0.9.2.0' - - 'snap-server-1.1.2.1' + resolver: ${{ matrix.resolver }} EOF stack config set system-ghc true --global stack config set resolver nightly + # The last step overwrites the resolver in stack.yaml. - uses: actions/cache@v4 name: Cache with: - path: | - ~/.stack - key: ${{ runner.os }}-${{ steps.setup.outputs.ghc-version }}-stack + path: ${{ steps.setup.outputs.stack-root }} + key: ${{ runner.os }}-ghc-${{ steps.setup.outputs.ghc-version }}-${{ matrix.resolver }} - name: Install dependencies run: | diff --git a/.gitignore b/.gitignore index 9a428d87..29decb17 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,5 @@ test/snaplets/heist/templates/good.tpl test/test-cabal-dev test/test-snap-exe .ghc.environment* +/.stack-work/ +/stack*.yaml.lock diff --git a/snap.cabal b/snap.cabal index 93243571..40e7e7bf 100644 --- a/snap.cabal +++ b/snap.cabal @@ -1,6 +1,7 @@ cabal-version: 2.2 name: snap version: 1.1.3.3 +x-revision: 2 synopsis: Top-level package for the Snap Web Framework description: This is the top-level package for the official Snap Framework libraries. @@ -159,7 +160,7 @@ Library -- the version disjunction causes problems with dependency resolution. hashable >= 1.2.0.6 && < 1.5, heist >= 1.1 && < 1.2, - lens >= 3.7.6 && < 5.3, + lens >= 3.7.6 && < 5.4, lifted-base >= 0.2 && < 0.3, map-syntax >= 0.2 && < 0.4, monad-control >= 0.3 && < 1.1, @@ -267,7 +268,7 @@ Test-suite testsuite mtl, mwc-random, pwstore-fast, - QuickCheck >= 2.4.2 && < 2.15, + QuickCheck >= 2.4.2 && < 2.16, smallcheck >= 1.1.1 && < 1.3, snap-core, snap-server,