stack-all: CLI tool for building across Stackage major versions

[ bsd3, distribution, program ] [ Propose Tags ]

Build your Haskell project over Stackage major versions.


[Skip to Readme]
Versions [faq] 0.1, 0.1.1, 0.1.2, 0.2
Change log ChangeLog.md
Dependencies base (<5), config-ini, directory, extra (>=1.6.15), filepath, process, simple-cmd (>=0.1.4), simple-cmd-args, text [details]
License BSD-3-Clause
Copyright 2020-2021 Jens Petersen <juhpetersen@gmail.com>
Author Jens Petersen <juhpetersen@gmail.com>
Maintainer Jens Petersen <juhpetersen@gmail.com>
Category Distribution
Home page https://github.com/juhp/stack-all
Bug tracker https://github.com/juhp/stack-all/issues
Source repo head: git clone https://github.com/juhp/stack-all.git
Uploaded by JensPetersen at 2021-04-03T05:56:52Z
Distributions NixOS:0.2
Executables stack-all
Downloads 183 total (69 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Last success reported on 2021-04-03 [all 2 reports]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for stack-all-0.2

[back to package description]

stack-all

A CLI tool for building Haskell projects easily over Stackage major versions.

This is how I do my Haskell "build ci" now locally.

Usage

stack-all by default runs stack build over recent Stackage LTS major versions and Nightly (current default is nightly, lts-17, lts-16, lts-14,... , lts-11) corresponding to latest major ghc minor verions.

Note that stack-all will automatically use stack-ltsXX.yaml, even for older lts releases: eg say you have stack-lts13.yaml in your project, then it will also be used for building lts-12 (unless you have a stack-lts12.yaml config file of course). (Other versioned stack.yaml filenames like stack-ghc-8.8.yaml are not supported currently.)

You can specify the oldest working LTS for a project with stack-all -o lts-13 or set it in a .stack-all file containing:

[versions]
# lts-12 foo-bar too old
oldest = lts-13

which can be created with stack-all -c -o lts-13.

You can also pass stack commands and options on the command line: eg

$ stack-all test

will run stack test over the LTS versions, etc (instead of stack build).

Happy stack building!

Install

Run stack install or cabal install in the source.

Contribute or discuss

at https://github.com/juhp/stack-all