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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Build your Haskell project over Stackage major versions.


[Skip to Readme]

Properties

Versions 0.1, 0.1.1, 0.1.2, 0.2, 0.2, 0.2.1, 0.2.2, 0.3, 0.3.1, 0.4, 0.4.0.1
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:55:13Z

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