2023-11-12 12:59:24 +03:00
|
|
|
# Code generated by dhall-to-yaml. DO NOT EDIT.
|
2020-12-02 21:24:43 +03:00
|
|
|
jobs:
|
|
|
|
build:
|
2023-11-12 12:59:24 +03:00
|
|
|
name: "GHC ${{ matrix.ghc }}, Cabal ${{ matrix.cabal }}, OS ${{ matrix.os }}"
|
|
|
|
"runs-on": "${{ matrix.os }}"
|
2020-12-02 21:24:43 +03:00
|
|
|
steps:
|
2023-11-12 12:59:24 +03:00
|
|
|
- uses: "actions/checkout@v4"
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
|
|
|
- id: "setup-haskell-cabal"
|
|
|
|
uses: "haskell-actions/setup@v2"
|
|
|
|
with:
|
|
|
|
"cabal-version": "${{ matrix.cabal }}"
|
|
|
|
"ghc-version": "${{ matrix.ghc }}"
|
|
|
|
- name: Update Hackage repository
|
|
|
|
run: cabal update
|
|
|
|
- name: cabal.project.local.ci
|
|
|
|
run: |
|
|
|
|
if [ -e cabal.project.local.ci ]; then
|
|
|
|
cp cabal.project.local.ci cabal.project.local
|
|
|
|
fi
|
|
|
|
- name: freeze
|
|
|
|
run: "cabal freeze --enable-tests --enable-benchmarks"
|
|
|
|
- uses: "actions/cache@v3"
|
|
|
|
with:
|
|
|
|
key: "${{ matrix.os }}-${{ matrix.ghc }}-${{ matrix.cabal}}-${{ hashFiles('cabal.project.freeze') }}"
|
|
|
|
path: |
|
|
|
|
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
|
|
|
|
dist-newstyle
|
|
|
|
- name: Install dependencies
|
|
|
|
run: "cabal build all --enable-tests --enable-benchmarks --only-dependencies"
|
|
|
|
- name: build all
|
|
|
|
run: "cabal build all --enable-tests --enable-benchmarks"
|
|
|
|
- name: test all
|
|
|
|
run: "cabal test all --enable-tests"
|
|
|
|
- name: haddock all
|
|
|
|
run: cabal haddock all
|
|
|
|
- name: "Install and run hlint (optional)"
|
|
|
|
run: |
|
|
|
|
cabal install hlint
|
|
|
|
hlint -g --no-exit-code
|
2020-12-02 21:24:43 +03:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
cabal:
|
2023-11-12 12:59:24 +03:00
|
|
|
- '3.10'
|
2020-12-02 21:24:43 +03:00
|
|
|
ghc:
|
2023-11-12 12:59:24 +03:00
|
|
|
- '9.6.3'
|
|
|
|
- '9.4.7'
|
|
|
|
- '9.2.8'
|
|
|
|
os:
|
|
|
|
- "ubuntu-latest"
|
2020-12-02 21:24:43 +03:00
|
|
|
name: Haskell CI
|
2023-11-12 12:59:24 +03:00
|
|
|
'on':
|
|
|
|
pull_request: {}
|
|
|
|
push: {}
|
|
|
|
schedule:
|
|
|
|
- cron: "4 20 10 * *"
|