diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6efd7e5f..541dc1cc 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -33,15 +33,13 @@ jobs: - name: Update Cabal's database run: nix-shell --arg ghcVersion '"${{ matrix.ghc-version }}"' --arg installHls 'false' --pure --run "cabal update" - name: Build Cabal's dependencies - run: nix-shell --arg ghcVersion '"${{ matrix.ghc-version }}"' --arg installHls 'false' --pure --run "cabal build --allow-newer --disable-tests --disable-benchmarks --dependencies-only" + run: nix-shell --arg ghcVersion '"${{ matrix.ghc-version }}"' --arg installHls 'false' --pure --run "cabal build --allow-newer --enable-tests --enable-benchmarks --dependencies-only" - name: Build - run: nix-shell --arg ghcVersion '"${{ matrix.ghc-version }}"' --arg installHls 'false' --pure --run "cabal build --allow-newer --disable-tests --disable-benchmarks" + run: nix-shell --arg ghcVersion '"${{ matrix.ghc-version }}"' --arg installHls 'false' --pure --run "cabal build --allow-newer --enable-tests --enable-benchmarks" - name: Haddock run: nix-shell --arg ghcVersion '"${{ matrix.ghc-version }}"' --arg installHls 'false' --pure --run "cabal haddock --allow-newer" - name: cabal-docspec run: nix-shell --arg ghcVersion '"${{ matrix.ghc-version }}"' --arg installHls 'false' --pure --run "cabal-docspec" - - name: Build benchmarks - run: nix-shell --arg ghcVersion '"${{ matrix.ghc-version }}"' --arg installHls 'false' --pure --run "cabal build linear-base:bench:bench --allow-newer" - name: Run benchmarks run: nix-shell --arg ghcVersion '"${{ matrix.ghc-version }}"' --arg installHls 'false' --pure --run "cabal bench --allow-newer 2>&1 | tee benchmark_ghc${{ matrix.ghc-version }}.txt" - name: Upload benchmark results diff --git a/cabal.project b/cabal.project index ecef8cef..0d7f076e 100644 --- a/cabal.project +++ b/cabal.project @@ -1,7 +1 @@ packages: *.cabal - --- We need the `--alloc-newer` flag on cabal invocations because otherwise a build plan cannot be found. --- But as of 2024-09-11, the latest version of the `unix` 2.8.5.1 package has a conditional bound on `filepath` depending on the `os-string` flag (see https://hackage.haskell.org/package/unix-2.8.5.1/dependencies). --- With no extra parameter or setting, we get a dependency conflict on `filepath`, as other libs use a version of `filepath` incompatible with the one `unix` wants. --- Setting `filepath` to 1.4.2.2 fixes that. -constraints: filepath ==1.4.2.2