packages feed

streamly-0.8.0: dev/ci-tests.md

# Continuous integration tests

This file documents the required CI test matrix so that we do not accidentally
remove or miss any tests when making changes to CI configs:

## For prime GHC version:

Distribution:
  * build from source distribution WITHOUT a cabal.project file

Performance:
  * `--flag inspection` + `--flag fusion-plugin`
  * Run `bin/bench.sh --quick --raw`
  * Run `bin/test.sh`
  * -Werror (for lib, test, bench)

Lint:
  * -Werror (for lib, test, bench) (Need a Werror with default flags)
  * hlint

Doctests:
  * Run cabal-docspec

Coverage:
  * `coverage` build

Debug:
  * --flag debug

StreamK:
  * --flag streamk

Windows:
  * Windows + stack

MacOS:
  * MacOS + stack

## Other GHC versions

GHC head:
  * `--flag inspection` + `--flag fusion-plugin` tests to catch any
    issues early.
  * Ideally we should also be running perf tests and compare
    against the prime version.

Other GHC versions:
* build lib, test, bench, docs, run tests, on Linux platform, using
  cabal build

## GHCJS

GHCJS:
* Latest version ghcjs build (lib, test, bench), run tests