name: Cabal CI on: pull_request: types: - opened - synchronize jobs: build: runs-on: ubuntu-latest strategy: matrix: ghc: ['9.2.2', '9.0.1', '8.10.1', '8.8.1', '8.6.5', '8.6.4', '8.6.3', '8.6.2', '8.4.4', '8.2.2', '8.0.2', '7.10.3'] cabal: ['latest', 3.2] fail-fast: false env: CONFIG: "--enable-tests --enable-benchmarks" steps: - uses: actions/checkout@v2 - uses: haskell/actions/setup@v1.2 id: setup-haskell-cabal with: ghc-version: ${{ matrix.ghc }} cabal-version: ${{ matrix.cabal }} - run: cabal v2-update - run: cabal v2-freeze $CONFIG - uses: actions/cache@v2 with: path: | ${{ steps.setup-haskell-cabal.outputs.cabal-store }} dist-newstyle key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }} restore-keys: | ${{ runner.os }}-${{ matrix.ghc }}- - run: cabal v2-build $CONFIG - run: cabal v2-test $CONFIG - run: cabal v2-haddock $CONFIG - run: cabal v2-sdist