Merge pull request #36 from sjshuck/dependabot/github_actions/actions… #186
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
jobs: | |
cabal: | |
name: Cabal CI | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
ghc: | |
- 9.0.2 | |
- 9.2.5 | |
- 9.4.4 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: haskell/actions/setup@v2 | |
id: setup-haskell | |
with: | |
ghc-version: ${{ matrix.ghc }} | |
- name: Freeze build | |
run: cabal freeze | |
- uses: actions/cache@v3 | |
with: | |
path: ${{ steps.setup-haskell.outputs.cabal-store }} | |
key: cabal-${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }} | |
restore-keys: | | |
cabal-${{ runner.os }}-${{ matrix.ghc }}- | |
- name: Build library | |
run: cabal build | |
- name: Run tests | |
run: cabal test --test-show-details=direct | |
- name: Build benchmarks | |
run: cabal build --enable-benchmarks | |
# pcre (via pcre-light) not available on windows (without further setup) | |
# Also not building on macOS | |
if: runner.os == 'Linux' | |
- name: Build documentation | |
run: cabal haddock | |
stack: | |
name: Stack CI | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: haskell/actions/setup@v2 | |
with: | |
enable-stack: true | |
stack-no-global: true | |
- name: Build library and run tests | |
run: stack test |