From 097b64503dda18920460b33a45604950e0d6fc0e Mon Sep 17 00:00:00 2001 From: Adam Bergmark Date: Wed, 17 Aug 2016 13:51:03 +0200 Subject: [PATCH] Add instructions for testing a package against the latest versions of dependencies --- MAINTAINERS.md | 16 ++++++++++++++-- README.md | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index a47eb400..a98cce6f 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -21,6 +21,18 @@ To add a set of packages, you would add: After doing that, send a pull request (with a commit message like "add foo-bar"). We do not require new submissions to be tested against the rest of Stackage before the pull request (though it is a good idea to do so if you can with `stack --resolver nightly exec stackage-curator check` and `stack --resolver nightly build`), provided you meet the dependency version requirements above. If your library depends on a C library, add a note to your pull request with the Ubuntu library name, or even better edit the `debian-bootstrap.sh` script directly +If you want to make sure that the package builds against the newest versions of all dependecies you can do this: +``` +$ cabal update +$ ghc --version # Should give v8.0.1 +$ cabal get PACKAGE-VERSION # e.g. aeson-0.11.2.1 +$ cd PACKAGE-VERSION +$ cabal sandbox init # Should give "Creating a new sandbox" and not "Using an existing sandbox". +$ cabal install --enable-tests --enable-benchmarks --dry-run | grep latest # Should give no results +$ cabal install --enable-tests --enable-benchmarks --allow-newer +$ cabal test +``` + **NB** Please use commit messages like "add foo-bar" or "add johndev's packages" (`build-constraints.yaml` is the most frequently changed file in this git repo so commit messages like "update build-constraints.yaml" are not helpful). @@ -28,8 +40,8 @@ so commit messages like "update build-constraints.yaml" are not helpful). **NB2** There can be a delay of up to an hour before package versions newly uploaded to Hackage appear to our build server. If you just uploaded a package to Hackage that you're trying to get included, we -recommend waiting an hour before opening the PR. You can also verify -this by making sure the latest version is listed in +recommend waiting an hour before opening the PR. You can verify this +by making sure the latest version is listed in https://github.com/commercialhaskell/all-cabal-files/tree/master/PACKAGENAME. diff --git a/README.md b/README.md index 9ad3259a..7fc1b93a 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ We welcome all packages, provided: * The package is compatible with the newest versions of all dependencies (You can find restrictive upper bounds by visiting http://packdeps.haskellers.com/feed?needle=PACKAGENAME). * The package is compatible with the versions of libraries that ship with GHC ([more information on lenient lower bounds](https://www.fpcomplete.com/blog/2014/05/lenient-lower-bounds)). -Full details on how to add a package can be found in the [maintainers agreement](https://github.com/fpco/stackage/blob/master/MAINTAINERS.md#adding-a-package). +Full details on how to add and test a package can be found in the [maintainers agreement](https://github.com/fpco/stackage/blob/master/MAINTAINERS.md#adding-a-package). __NOTE__: There is an approximate 30 minute delay between a package uploading to Hackage and being available to the Travis build script to check upper