on e856425 help sign in
streamly/docs/Developer/ci-tests.md
64 lines 1.7 kB history raw
1# Continuous integration tests
3This file documents the required CI test matrix so that we do not accidentally
4remove or miss any tests when making changes to CI configs:
6## Mono repo
8We host "streamly" and "streamly-core" packages in the same repo. This
9creates a problem for the sdist build for the "streamly" package because
10it depends on the "streamly-core" package. In the "streamly" sdist build
11we use a cabal.project file to pick up "streamly-core" from github
12master branch HEAD. If we make changes to both the packages at the same
13time we won't be able to do this.
15We use one sdist build for "streamly" package and one for "streamly-core". The
16sdist build for "streamly" might fail because of the reason described above.
18## For prime GHC version:
20Distribution:
21 * build "streamly" from source distribution WITHOUT a cabal.project file
22 * build "streamly-core" from source distribution WITHOUT a cabal.project file
24Performance:
25 * `--flag inspection` + `--flag fusion-plugin`
26 * Run `benchmark/bench-runner --quick --raw`
27 * Run `test/test-runner`
28 * -Werror (for lib, test, bench)
30Lint:
31 * -Werror (for lib, test, bench) (Need a Werror with default flags)
32 * hlint
34Doctests:
35 * Run cabal-docspec
37Coverage:
38 * `coverage` build
40Debug:
41 * --flag debug
43Windows:
44 * Windows + stack
46MacOS:
47 * MacOS + stack
49## Other GHC versions
51GHC head:
52 * `--flag inspection` + `--flag fusion-plugin` tests to catch any
53 issues early.
54 * Ideally we should also be running perf tests and compare
55 against the prime version.
57Other GHC versions:
58* build lib, test, bench, docs, run tests, on Linux platform, using
59 cabal build
61## GHCJS
63GHCJS:
64* Latest version ghcjs build (lib, test, bench), run tests