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

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

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Scout APM - Truly a developer’s best friend
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • talent.io - Download talent.io’s Tech Salary Report
  • 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/

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • wasp

    A programming language that understands what a web app is.

    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