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]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1, 0.1.1, 0.1.2, 0.2, 0.2.1, 0.2.2, 0.3, 0.3.1, 0.4, 0.4.0.1, 0.4.1, 0.4.2, 0.5, 0.5.1, 0.5.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 LTSHaskell:0.4.2, NixOS:0.4.2, Stackage:0.5.2
Executables stack-all
Downloads 1565 total (65 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2021-04-03 [all 2 reports]

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