packages feed

hackport-0.8.0.0: hackage-security/.github/workflows/haskell.yml

name: MacOS, Ubuntu, Windows

on: [push, pull_request]

jobs:
  build:
    runs-on: ${{ matrix.os }}

    strategy:
      fail-fast: false
      matrix:
        ghc: ['9.4.1', '9.2.4', '9.0.2', '8.10.7']
        os: [ubuntu-latest, macOS-latest, windows-latest]
    steps:
    - uses: actions/checkout@v2
    - uses: haskell/actions/setup@v1
      with:
        ghc-version: ${{ matrix.ghc }}
        cabal-version: '3.8.1.0'

    - name: Cache
      uses: actions/cache@v1
      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 -vnormal+nowrap all
    - name: Build
      run: cabal build --enable-tests --enable-benchmarks -j1 -vnormal+nowrap all
    - name: Run tests
      run: cabal test -j1 -vnormal+nowrap all