Skip to content

Haskell-CI

Haskell-CI #1130

Workflow file for this run

name: Haskell-CI
on:
push:
branches:
- 'master'
pull_request:
branches:
- 'master'
schedule:
- cron: 0 0 * * *
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
linux:
name: Haskell-CI - Cabal - ${{ matrix.ghc-version }}
strategy:
matrix:
ghc-version: [latest,
"9.14", "9.12", "9.10", "9.8", "9.6",
"9.4", "9.2", "9.0", "8.10"
]
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
with:
ghc-version: ${{matrix.ghc-version}}
- uses: actions/cache/restore@v4
with:
key: ${{ runner.os }}-cabal-${{ matrix.ghc-version }}-${{ github.sha }}
path: ~/.cabal/store
restore-keys: ${{ runner.os }}-cabal-${{ matrix.ghc-version }}-
- run: cabal build all
- run: cabal test all
- uses: actions/cache/save@v4
with:
key: ${{ runner.os }}-cabal-${{ matrix.ghc-version }}-${{ github.sha }}
path: ~/.cabal/store
- run: cabal haddock all
stack:
name: Haskell-CI - Stack - ${{ matrix.ghc-version }}
strategy:
matrix:
include:
- {"resolver": lts-24.15, "ghc-version": "9.10.3"}
- {"resolver": lts-23.28, "ghc-version": "9.8.4"}
- {"resolver": lts-22.44, "ghc-version": "9.6.7"}
- {"resolver": lts-21.25, "ghc-version": "9.4.8"}
- {"resolver": lts-20.26, "ghc-version": "9.2.8"}
- {"resolver": lts-19.33, "ghc-version": "9.0.2"}
- {"resolver": lts-18.28, "ghc-version": "8.10.7"}
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
id: setup-haskell-stack
with:
ghc-version: ${{matrix.ghc-version}}
enable-stack: true
- run: |
printf "snapshot: ${{ matrix.resolver }}\npackages: [.]\nextra-deps: [data-array-byte-0.1.0.1]\nsystem-ghc: true" > stack.yaml
cat stack.yaml
- uses: actions/cache@v4
with:
key: ${{ runner.os }}-stack-${{matrix.resolver}}-${{ github.sha }}
path: |
.stack-work
${{ steps.setup-haskell-stack.outputs.stack-root }}
restore-keys: ${{ runner.os }}-stack-${{matrix.resolver}}-
- run: stack test