# Code generated by dhall-to-yaml. DO NOT EDIT. jobs: build: name: "GHC ${{ matrix.ghc }}, Cabal ${{ matrix.cabal }}, OS ${{ matrix.os }}" "runs-on": "${{ matrix.os }}" steps: - uses: "actions/checkout@v4" with: submodules: recursive - id: "setup-haskell-cabal" uses: "haskell-actions/setup@v2" with: "cabal-version": "${{ matrix.cabal }}" "ghc-version": "${{ matrix.ghc }}" - name: Update Hackage repository run: cabal update - name: cabal.project.local.ci run: | if [ -e cabal.project.local.ci ]; then cp cabal.project.local.ci cabal.project.local fi - name: freeze run: "cabal freeze --enable-tests --enable-benchmarks" - uses: "actions/cache@v3" with: key: "${{ matrix.os }}-${{ matrix.ghc }}-${{ matrix.cabal}}-${{ hashFiles('cabal.project.freeze') }}" path: | ${{ steps.setup-haskell-cabal.outputs.cabal-store }} dist-newstyle - name: Install dependencies run: "cabal build all --enable-tests --enable-benchmarks --only-dependencies" - name: build all run: "cabal build all --enable-tests --enable-benchmarks" - name: test all run: "cabal test all --enable-tests" - name: haddock all run: cabal haddock all - name: "Install and run hlint (optional)" run: | cabal install hlint hlint -g --no-exit-code strategy: matrix: cabal: - '3.10' ghc: - '9.6.3' - '9.4.7' - '9.2.8' os: - "ubuntu-latest" name: Haskell CI 'on': pull_request: {} push: {} schedule: - cron: "4 20 10 * *"