- Use "latest" for ghcup version.
- Add
CABAL_HADDOCK_TARGETSoption. - Add
HADDOCK_OPTIONSoption. - Add
CABAL_INDEX_TTLoption - do not attempt cabal update until it is stale by this many hours, saves some build time. - Windows: Support installing ghc using ghcup.
- Caching: New
BUILD_ONLY_DEPSandBUILD_POST_DEPSflags to allow pausing/resuming builds for CI cache optimization. - Diagnostics: Enhanced machine info captures
df,mount, and detailed CPU/RAM stats across all supported OSs. - Fixed many quirks, so that it works smoothly in as many cases as possible.
- Overhauled all the CI config templates for current and more complex usage
- Set default "ghc" in PATH for cabal-docspec to work
- FreeBSD support and Cirrus CI support for FreeBSD - see
.cirrus.yml CABAL_TEST_OPTIONSenvvar to pass test-only options to cabal
- Supports using ghcup to install ghc automatically if
GHCUP_VERSIONenv var is specified. - Supports running cabal-docspec (doctest) in
cabalbuild using theENABLE_DOCSPECoption (Linux only). HLINT_VERSIONenv var can be used to install a specific version of hlint
- Explicit
hlintcommand was added. Usepackcheck hlint HLINT_OPTIONS="lint" ...instead ofpackcheck cabal-v2 HLINT_OPTIONS="lint" ...to run hlint on the package. - Removed GHCJS, coveralls support
CABAL_DISABLE_DEPSenv var to disable dependencies install by cabal. This can be useful when we have dependencies already installed e.g. in a nix shell.- Add support for github CI
- Add packcheck-remote.sh, a wrapper over packcheck that allows you to run packcheck on a remote repository by cloning it locally and optionally merging a branch into another branch (e.g. merging a PR branch into master).
- Several fixes to make distribution builds safer and with more checks
- Do a sanity check for the existence of files in .packcheck.ignore and .hlint.ignore
- "packcheck cabal" now defaults to "packcheck cabal-v2"
- Support for
cabal-v1is removed- CI now fails if
cabal-v1is used as a command CABAL_CONFIGURE_OPTIONSis removedCABAL_NO_SANDBOXis removedpackcheck cleanalldoes not remove.cabal-sandbox/and.cabal.sandbox.configanymore
- CI now fails if
- Support for
cabal-newis removed- CI now fails if
cabal-newis used as a command CABAL_NEWBUILD_OPTIONSis removedCABAL_NEWBUILD_TARGETSis removed
- CI now fails if
- A new command
hlintis introduced. Thehlintbuild is only triggered by using this command. ENABLE_INSTALLoption has been removed.
- Fix breakage due to
DISABLE_SDIST_GIT_CHECKoption. Due to this bug, build was always failing by default and reported as success.
HLINT_COMMANDSis deprecated and replaced byHLINT_OPTIONS/HLINT_TARGETS
- New
HLINT_OPTIONS/HLINT_TARGETSenv vars to specify hlint commands in a better way.
packcheck.shscript itself was missing from the package, added.
- CI now fails if
DISABLE_SDIST_BUILDis not set and the contents of the source distribution tar ball do not match the git repository contents. Either add any exceptions to.packcheck.ignorefile or useDISABLE_SDIST_GIT_CHECK=yto disable this feature. Currently this check is done only ifgitandtarcommands are available in thePATH.
cabal-v1command now shows a deprecation message and is removed from help. This command will be removed in future.ENABLE_INSTALLoption now does nothing. This change is because of the new behavior in cabal-3. This option will be removed in future.
- Added a feature to detect if any files in the git repo are missing from the source distribution tarball.
- Add
CABAL_PROJECTenvironment variable to support specifying a cabal project file.
- When building from source distribution, it would not build again unless
cleaned with
packcheck cleanif a file in the source has changed.
- Deprecate and replace the
cabalcommand withcabal-v1, in futurecabalwill be used forcabal-v2. - Deprecate and replace the
cabal-newcommand withcabal-v2. - Deprecate and rename
CABAL_NEWBUILD_OPTIONStoCABAL_BUILD_OPTIONS - Deprecate and rename
CABAL_NEWBUILD_TARGETStoCABAL_BUILD_TARGETS - Use STACK_BUILD_OPTIONS envvar in the dependency install phase as well
- Remove stack yaml creation using stack init/solver
- Search for ghc among stack installed GHC binaries as well
- Add GHCJS support. Use ENABLE_GHCJS=y option.
- Add packcheck-safe.sh . The safe version does not trust or use any environment variables, all environment needs to be specified on the command line. It also catches any misspelled command line parameter names.
- Allow boolean parameters to be specified with a lenient syntax allowing values y|Y|yes|Yes|YES|true|True|TRUE|on|On|ON|n|N|no|No|NO|false|False|FALSE|off|Off|OFF
- Disable hpc-coveralls by default
- Add support for circle CI
- Add support for multi-package stack as well as cabal repos
- Add a version command
- Add CABAL_NEWBUILD_TARGETS envvar to build specific targets
- Add GHC 8.6.1 in build matrices
- Add a new environment var option DISABLE_DIST_CHECKS to disable source distribution checks. This can be used as a workaround for a bug in stack causing "stack sdist" to fail.
- For stack builds, use the same options (STACK_BUILD_OPTIONS) for install test as for build so that an extra rebuild does not occur during install.
- Workaround to avoid depending on
cabal infocommand; in certain cases this command crashes cabal. See issue #13.
- Add cabal new-build support. Use
packcheck.sh cabal-newto use it. - Add knobs to disable tests or doc builds (
DISABLE_TEST,DISABLE_DOCS) - Now you can specify multiple versions of GHC in PATH and packcheck automatically finds the right one based on GHCVER envvar.
- Add TOOLS_DIR option to specify hvr-ghc style installation of ghc and cabal. A correct version of GHC is automatically picked from this directory.
- GHCVER and CABALVER variables are now optional in travis config if you specify the cabal and ghc PPAs under apt sources.
- Run
autoreconfif there is aconfigure.acin the package dir
- TEST_INSTALL option is deprecated, use ENABLE_INSTALL instead
- Make
STACK_BUILD_OPTIONSandCABAL_CONFIGURE_OPTIONSappend to the existing build/configure options instead of overriding them. - Do not enforce specific
stackversion in CI configs - this is done to avoid failures due to github API limits when upgrading or downgrading.
- Avoid build failures in cases when
cabal-installhas to be installed and its dependencies may conflict with the current project dependencies.
- Better documentation in travis and appveyor configs
- Reduce the number of builds in default config from 11 to 6
- Enhancement: Nix support; fix bash location to make it work on NixOS and potentially on other systems.
- Initial release