name: Haskell CI on: push: pull_request: types: [synchronize, opened, reopened] permissions: contents: read jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-haskell@v1 with: ghc-version: '9.8.2' cabal-version: '3.10' - 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: Install dependencies run: | cabal update cabal build --only-dependencies --enable-tests --enable-benchmarks all - name: Build run: cabal build --enable-tests --enable-benchmarks all - name: Run tests run: cabal test all