name: Haskell CI on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest strategy: matrix: cabal: [ "3.4" , "3.6" , "3.8" ] ghc: [ "8.8" , "8.10" , "9.0" , "9.2" ] exclude: - cabal: "3.4" ghc: "9.2" steps: - uses: actions/checkout@v3 with: submodules: 'recursive' - uses: haskell/actions/setup@v2 with: ghc-version: ${{ matrix.ghc }} cabal-version: ${{ matrix.cabal }} - name: Cache uses: actions/cache@v3 env: cache-name: cache-cabal with: path: ~/.cabal key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/*.cabal') }}-${{ hashFiles('**/cabal.project') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: Configure run: | cabal update cabal configure --enable-tests --enable-benchmarks --flag=pedantic - name: Install dependencies run: | cabal build --only-dependencies - name: Build run: cabal build - name: Run spec test run: cabal test --test-option=--color --test-show-details=streaming spec