Best practices for setting up CI tests for a Stack project?

This page summarizes the projects mentioned and recommended in the original post on /r/haskell

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • stack

    The Haskell Tool Stack

  • stack test tries to rebuild the whole project after I run stack build, eating into local development speed. This is an open issue. The suggested workaround of building with --test --no-run-tests still incurs noticeable build time overhead because it also rebuilds all the test suites.

  • Cabal

    Official upstream development repository for Cabal and cabal-install

  • or use a cabal pre-release version that adds support for remote freeze files: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.7.0.0-pre20220407/

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • wasp

    The fastest way to develop full-stack web apps with React & Node.js.

  • You can check out current Github CI workflow here, it uses Cabal, to which we switched recently: https://github.com/wasp-lang/wasp/blob/main/.github/workflows/ci.yaml .

  • hledger

    Robust, fast, intuitive plain text accounting tool with CLI, TUI and web interfaces.

  • I run stack-based CI tests, and they are heavier than I like, but complete in about 2m. https://github.com/simonmichael/hledger/blob/master/.github/workflows/main.yml in case it has any tips.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts