name: Cabal CI on: pull_request: types: - opened - synchronize jobs: build: runs-on: ubuntu-latest strategy: matrix: ghc: ['9.4.4', '9.2.6', '9.0.2', '8.10.7', '8.8.4', '8.6.5', '8.4.4', '8.2.2', '8.0.2'] cabal: ['latest', 3.2] fail-fast: false env: CONFIG: "--enable-tests --enable-benchmarks" steps: - uses: actions/checkout@v2 # https://github.com/haskell/actions/tree/main/setup - uses: haskell/actions/setup@v2 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