2021-06-15 00:02:37 +03:00
|
|
|
name: github-action
|
2020-11-03 21:45:39 +03:00
|
|
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2021-06-15 00:02:37 +03:00
|
|
|
ghc: ['8.4.4', '8.6.5', '8.8.4', '8.10.2']
|
2021-10-05 22:17:48 +03:00
|
|
|
os: ['ubuntu-latest'] #, 'macos-latest']
|
2021-06-15 00:02:37 +03:00
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
|
|
|
|
name: GHC ${{ matrix.ghc }} on ${{ matrix.os }}
|
2020-11-03 21:45:39 +03:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- uses: actions/setup-haskell@v1
|
|
|
|
with:
|
|
|
|
ghc-version: ${{ matrix.ghc }}
|
|
|
|
- name: Cache
|
|
|
|
uses: actions/cache@v1
|
|
|
|
env:
|
|
|
|
cache-name: cache-cabal
|
|
|
|
with:
|
|
|
|
path: ~/.cabal
|
2021-06-15 00:02:37 +03:00
|
|
|
key: ${{ runner.os }}-${{ matrix.ghc }}-build-${{ env.cache-name }}-${{ hashFiles('**/*.cabal') }}-${{ hashFiles('**/cabal.project') }}
|
2020-11-03 21:45:39 +03:00
|
|
|
restore-keys: |
|
2021-06-15 00:02:37 +03:00
|
|
|
${{ runner.os }}-${{ matrix.ghc }}-build-${{ env.cache-name }}-
|
|
|
|
${{ runner.os }}-${{ matrix.ghc }}-build-
|
|
|
|
${{ runner.os }}-${{ matrix.ghc }}-
|
|
|
|
${{ runner.os }}
|
2020-11-03 21:45:39 +03:00
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
cabal update
|
|
|
|
cabal build --only-dependencies --enable-tests --enable-benchmarks
|
|
|
|
- name: Build
|
|
|
|
run: cabal build --enable-tests --enable-benchmarks all
|
|
|
|
- name: Run tests
|
|
|
|
run: cabal test all
|
2021-06-15 00:02:37 +03:00
|
|
|
- name: Build Docs
|
|
|
|
run: cabal haddock
|