name: Haskell CI on: push: pull_request: types: [synchronize, opened, reopened] schedule: - cron: "0 0 * * 0" permissions: contents: read jobs: build: strategy: matrix: ghc: ["9.4.1", "9.6.6", "9.8.2"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: haskell-actions/setup@v2.7.6 with: ghc-version: ${{ matrix.ghc }} 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 --disable-benchmarks all - name: Build (ghc != 9.4.1) if: ${{ matrix.ghc != '9.4.1' }} run: cabal build --enable-tests --disable-benchmarks all - name: Build (ghc == 9.4.1) if: ${{ matrix.ghc == '9.4.1' }} run: cabal build --enable-tests --disable-benchmarks heftia heftia-effects:heftia-effects heftia-effects:test - name: Run tests run: cabal test --test-show-details=direct all