Skip to content

Lint and update CI

Lint and update CI #1

Workflow file for this run

name: Compile, test and check the docs
on:
push:
branches:
- master
pull_request:
workflow_call:
jobs:
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: nikita-volkov/[email protected]
- uses: nikita-volkov/[email protected]
- name: Commit the changes
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Format
build-and-test:
needs:
- format
strategy:
fail-fast: false
matrix:
include:
- ghc: '8.8.4'
- ghc: '9.6.3'
ghc-options: -Werror -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wredundant-constraints -Wunused-packages -Wno-name-shadowing -Wno-unused-matches -Wno-unused-do-bind -Wno-type-defaults
- ghc: '9.8.1'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Haskell
uses: haskell-actions/setup@v2
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: 3.8
- name: Generate cabal.project.freeze
run: cabal freeze --enable-tests --enable-benchmarks
- uses: actions/cache@v3
with:
path: |
~/.cabal/store
key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
restore-keys: |
${{ runner.os }}-${{ matrix.ghc }}-
- name: Install HTF
run: cabal install HTF --overwrite-policy=always
- name: Install deps and compile
run: cabal build --enable-tests -j +RTS -A128m -n2m -N -RTS --ghc-options="${{ matrix.ghc-options }}"
- name: Test
run: cabal test --test-show-details always
- name: Run Haddock
run: cabal haddock