From 24aaa4b3f7f9b7ead10ef5938893d9f1b006f6ef Mon Sep 17 00:00:00 2001 From: Stephen Diehl Date: Tue, 3 Jan 2017 16:03:55 +0000 Subject: [PATCH 1/8] Add `repline` and `picosat` packages. --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index a015b333..5d20165c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -2382,6 +2382,8 @@ packages: "Stephen Diehl @sdiehl": - protolude + - repline + - picosat # "Daishi Nakajima @nakaji_dayo": # - yesod-job-queue # build failure https://github.com/nakaji-dayo/yesod-job-queue/issues/10 From 1c1177316abe01323a22fb91455d6c84aad62f4b Mon Sep 17 00:00:00 2001 From: Adam Bergmark Date: Tue, 3 Jan 2017 19:03:17 +0100 Subject: [PATCH 2/8] CURATORS: Mention how to avoid disabling packages where the maintainer hasn't been notified yet --- CURATORS.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/CURATORS.md b/CURATORS.md index 91306c21..7e8871a0 100644 --- a/CURATORS.md +++ b/CURATORS.md @@ -94,7 +94,19 @@ You can try this when you notice that a package has been updated. You can also periodically try to lift bounds (I think it's good to do this at the start of your week /@bergmark) -If stackage-curator is happy commit the change ("Remove upper bounds and close #X"). +If not all packages have been updated check if any of them are missing +from the original issue and if so add a new comment mentioning them. A +new package may appear if its dependencies were part of this issue but +have been updated since the last time we checked. We want to give +these new packages ample time to be upgraded. + +If stackage-curator is happy commit the change ("Remove upper bounds +and close #X"). After doing this the next nightly build may fail +because some packages didn't have an upper bound in place, but +compilation failed. In this case revert the previous commit so any +disabled packages are enabled again, re-open the issue, and add a new +comment with the failing packages. This is to give all maintainers +enough time to upgrade for this case as well. ### Amending upper bounds @@ -154,9 +166,12 @@ Comment out the offending packages from the "packages" section and add a comment saying why it was disabled: ``` - # - swagger # BLOCKED aeson 1.0 + # - swagger # bounds: aeson 1.0 ``` +If this causes reverse dependencies to be disabled we should notify +the maintainers of those packages. + ## Updating the content of the Docker image used for building From c73df147029eea7d64931389f0427a42b5cafb1f Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Wed, 4 Jan 2017 15:46:13 +0900 Subject: [PATCH 3/8] MonadRandom < 0.5 (#2180) --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5d20165c..1c7e786e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -2732,6 +2732,8 @@ packages: # https://github.com/fpco/stackage/issues/2177 - aeson < 1.1.0.0 + # https://github.com/fpco/stackage/issues/2180 + - MonadRandom < 0.5 # end of packages # Package flags are applied to individual packages, and override the values of From 87c918e96176b6f0521c287b847337620ad20185 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 4 Jan 2017 09:53:03 +0200 Subject: [PATCH 4/8] Clean up a bunch of hidden packages --- build-constraints.yaml | 43 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1c7e786e..22f839f2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -3328,8 +3328,43 @@ hide: - async-dejafu # https://github.com/yesodweb/wai/issues/579 - monads-tf # mtl is preferred - protolude # `module Panic` conflicts with base -- cryptohash # Superceeded by cryptonite -- crypto-random # Superceeded by cryptonite -- crypto-pubkey # Superceded by cryptonite -- crypto-numbers # Superceded by cryptonite - crypto-api # `module Crypto.Random` conflicts with cryptonite +- fay-base # conflicts with many modules in base and others +- hashmap # conflicts with Data.HashSet in unordered-containers +- hxt-unicode # conflicts with Data.String.UTF8 in utf8-string +- hledger-web # conflicts with Foundation in foundation +- plot-gtk3 # conflicts with many modules in plot-gtk +- gtk3 # conflicts with many modules in gtk +- regex-pcre-builtin # conflicts with many modules in regex-pcre +- regex-compat-tdfa # conflicts with many modules in regex-compat +- log # conflicts with modules in its dependencies +- zip # conflicts with Codec.Archive.Zip in zip-archive +- monad-extras # conflicts with Control.Monad.Extra in extra +- control-monad-free # conflicts with Control.Monad.Free in free +- prompt # conflicts with Control.Monad.Prompt in MonadPrompt +- kawhi # conflicts with Control.Monad.Http in monad-http +- language-c # conflicts with modules in language-c-quote +- gl # conflicts with modules in OpenGLRaw +- svg-tree # conflicts with Graphics.Svg in svg-builder +- Glob # conflicts with System.FilePath.Glob in filemanip +- nanospec # conflicts with Test.Hspec in hspec +- HTF # conflicts with Test.Framework in test-framework +- courier # conflicts with Network.Transport in network-transport +- newtype-generics # conflicts with Control.Newtype in newtype + +# Cryptonite deprecations +- cipher-aes +- cipher-blowfish +- cipher-camellia +- cipher-des +- cipher-rc4 +- crypto-cipher-types +- crypto-numbers +- crypto-pubkey +- crypto-random +- cryptohash-conduit + +# cryptohash forks +- cryptohash-md5 +- cryptohash-sha1 +- cryptohash-sha256 From 6b1888fb94e51ec89c431d9fd522e6b139709532 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 4 Jan 2017 10:06:05 +0200 Subject: [PATCH 5/8] Hide objective --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 22f839f2..f328adc8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -3351,6 +3351,7 @@ hide: - HTF # conflicts with Test.Framework in test-framework - courier # conflicts with Network.Transport in network-transport - newtype-generics # conflicts with Control.Newtype in newtype +- objective # conflicts with Control.Object in natural-transformation # Cryptonite deprecations - cipher-aes From b2c0e377dbae9ac71faf1c4549766dbe0960e227 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 4 Jan 2017 10:07:41 +0200 Subject: [PATCH 6/8] Document how to force a single package rebuild --- CURATORS.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CURATORS.md b/CURATORS.md index 7e8871a0..32756503 100644 --- a/CURATORS.md +++ b/CURATORS.md @@ -292,6 +292,15 @@ You can wipe the nightly cache and rebuild everything by doing `rm -rf /var/stackage/stackage/automated/nightly`. Replace nightly with `lts7` to wipe the LTS 7 cache. +### Force a single package rebuild + +You can force a single package to rebuild by deleting its "previous result" +file, e.g.: + +``` +$ rm /var/stackage/stackage/automated/nightly/work/builds/nightly/prevres/Build/cryptohash-0.11.9 +``` + ## Local curator setup We do not run the full stackage build locally as that might take too From ea6b6b40bab28cc82047b2de7263145700fd18f7 Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Wed, 4 Jan 2017 14:33:33 +0000 Subject: [PATCH 7/8] Upper bounds for #2183. --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f328adc8..e7b3defd 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -2734,6 +2734,10 @@ packages: # https://github.com/fpco/stackage/issues/2180 - MonadRandom < 0.5 + + # https://github.com/fpco/stackage/issues/2183 + - glabrous < 0.2.2 + # end of packages # Package flags are applied to individual packages, and override the values of From f6b58a99d9bcb164445446f0977efb0f6d86db30 Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Wed, 4 Jan 2017 15:24:13 +0000 Subject: [PATCH 8/8] Make the local curator guide a bit clearer. --- CURATORS.md | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/CURATORS.md b/CURATORS.md index 32756503..6579ee8b 100644 --- a/CURATORS.md +++ b/CURATORS.md @@ -304,23 +304,34 @@ $ rm /var/stackage/stackage/automated/nightly/work/builds/nightly/prevres/Build/ ## Local curator setup We do not run the full stackage build locally as that might take too -much time. Some steps on the other hand are much faster to do -yourself. +much time. However, some steps on the other hand are much faster to do +yourself, e.g. verifying constraints without building anything. -It is useful to be able to modify constraints locally before pushing to -the repository. To do this first install stackage-curator: -`git clone git@github.com:fpco/stackage-curator.git && cd stackage-curator && stack install` -or get the linux binary: https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 -(it is a good idea to upgrade stackage-curator at least at the start of your week as curator). -Then clone the stackage repo `git clone git@github.com:fpco/stackage.git`. -Inside it run `stack update && stackage-curator check` to get new packages and do dependency resolution. +To get started, install `stackage-curator` via Git, or [the Linux binary]: -This can be used to make sure all version bounds are in place -(including for test suites and benchmarks), to check whether bounds -can be lifted, and to get `tell-me-when-its-released` notifications. +``` +$ git clone git@github.com:fpco/stackage-curator.git +$ cd stackage-curator && stack install +``` -Notably this does not build anything, so you wont see any compilation -errors for builds/tests/benchmarks. +It is a good idea to upgrade `stackage-curator` at the start of your week. +Then, clone the stackage repo, get the latest packages and run dependency +resolution: + +``` +$ git clone git@github.com:fpco/stackage.git +$ stack update && stackage-curator check +``` + +This can be used to make sure all version bounds are in place, including for +test suites and benchmarks, to check whether bounds can be lifted, and to get +[tell-me-when-its-released] notifications. + +`stackage-curator` does not build anything, so you wont see any compilation +errors for builds, tests and benchmarks. + +[the Linux binary]: https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 +[tell-me-when-its-released]: https://github.com/fpco/stackage/blob/master/CURATORS.md#waiting-for-new-releases ## Adding new curators