38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
name: Cabal CI
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- synchronize
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
ghc: ['9.2.2', '9.0.1', '8.10.1', '8.8.1', '8.6.5', '8.6.4', '8.6.3', '8.6.2', '8.4.4', '8.2.2', '8.0.2', '7.10.3']
|
|
cabal: ['latest', 3.2]
|
|
fail-fast: false
|
|
env:
|
|
CONFIG: "--enable-tests --enable-benchmarks"
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: haskell/actions/setup@v1.2
|
|
id: setup-haskell-cabal
|
|
with:
|
|
ghc-version: ${{ matrix.ghc }}
|
|
cabal-version: ${{ matrix.cabal }}
|
|
- run: cabal v2-update
|
|
- run: cabal v2-freeze $CONFIG
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
|
|
dist-newstyle
|
|
key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ matrix.ghc }}-
|
|
- run: cabal v2-build $CONFIG
|
|
- run: cabal v2-test $CONFIG
|
|
- run: cabal v2-haddock $CONFIG
|
|
- run: cabal v2-sdist
|