packages feed

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

name: MacOS, Ubuntu, Windows

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

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

    strategy:
      fail-fast: false
      matrix:
        ghc: ['9.8.1', '9.6.3', '9.4.7']
        os: [ubuntu-latest, macOS-latest, windows-latest]
    steps:
    - uses: actions/checkout@v3

    - uses: haskell-actions/setup@v2
      id:   setup
      with:
        ghc-version:   ${{ matrix.ghc }}
        # cabal-version: '3.8.1.0'
        cabal-update:  true

    - name: Cache
      uses: actions/cache@v3
      env:
        cache-name: haskell.yml
      with:
        path: ${{ steps.setup.outputs.cabal-store }}
        key:          ${{ runner.os }}-${{ env.cache-name }}-ghc-${{ matrix.ghc }}-${{ hashFiles('**/*.cabal', '**/cabal.project') }}
        restore-keys: ${{ runner.os }}-${{ env.cache-name }}-ghc-${{ matrix.ghc }}-

    - name: Install dependencies
      run: |
        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