on master help sign in
Update from parent
0693621orome
CURATORS.md+54−19
@@ -94,7 +94,19 @@ You can try this when you notice that a package has been updated. You
94can also periodically try to lift bounds (I think it's good to do this
94can also periodically try to lift bounds (I think it's good to do this
95at the start of your week /@bergmark)
95at the start of your week /@bergmark)
96
96
97+If not all packages have been updated check if any of them are missing
98+from the original issue and if so add a new comment mentioning them. A
99+new package may appear if its dependencies were part of this issue but
100+have been updated since the last time we checked. We want to give
101+these new packages ample time to be upgraded.
102+
97−If stackage-curator is happy commit the change ("Remove upper bounds and close #X").
103+If stackage-curator is happy commit the change ("Remove upper bounds
104+and close #X"). After doing this the next nightly build may fail
105+because some packages didn't have an upper bound in place, but
106+compilation failed. In this case revert the previous commit so any
107+disabled packages are enabled again, re-open the issue, and add a new
108+comment with the failing packages. This is to give all maintainers
109+enough time to upgrade for this case as well.
98
110
99### Amending upper bounds
111### Amending upper bounds
100
112
@@ -154,9 +166,12 @@ Comment out the offending packages from the "packages" section and add
154a comment saying why it was disabled:
166a comment saying why it was disabled:
155
167
156```
168```
157− # - swagger # BLOCKED aeson 1.0
169+ # - swagger # bounds: aeson 1.0
158```
170```
159
171
172+If this causes reverse dependencies to be disabled we should notify
173+the maintainers of those packages.
174+
160
175
161## Updating the content of the Docker image used for building
176## Updating the content of the Docker image used for building
162
177
@@ -277,26 +292,46 @@ You can wipe the nightly cache and rebuild everything by doing
277`rm -rf /var/stackage/stackage/automated/nightly`.
292`rm -rf /var/stackage/stackage/automated/nightly`.
278Replace nightly with `lts7` to wipe the LTS 7 cache.
293Replace nightly with `lts7` to wipe the LTS 7 cache.
279
294
295+### Force a single package rebuild
296+
297+You can force a single package to rebuild by deleting its "previous result"
298+file, e.g.:
299+
300+```
301+$ rm /var/stackage/stackage/automated/nightly/work/builds/nightly/prevres/Build/cryptohash-0.11.9
302+```
303+
280## Local curator setup
304## Local curator setup
281
305
282We do not run the full stackage build locally as that might take too
306We do not run the full stackage build locally as that might take too
283−much time. Some steps on the other hand are much faster to do
307+much time. However, some steps on the other hand are much faster to do
284−yourself.
308+yourself, e.g. verifying constraints without building anything.
285−
309+
286−It is useful to be able to modify constraints locally before pushing to
310+To get started, install `stackage-curator` via Git, or [the Linux binary]:
287−the repository. To do this first install stackage-curator:
311+
288−`git clone git@github.com:fpco/stackage-curator.git && cd stackage-curator && stack install`
312+```
289−or get the linux binary: https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
313+$ git clone git@github.com:fpco/stackage-curator.git
314+$ cd stackage-curator && stack install
315+```
316+
290−(it is a good idea to upgrade stackage-curator at least at the start of your week as curator).
317+It is a good idea to upgrade `stackage-curator` at the start of your week.
291−Then clone the stackage repo `git clone git@github.com:fpco/stackage.git`.
318+Then, clone the stackage repo, get the latest packages and run dependency
292−Inside it run `stack update && stackage-curator check` to get new packages and do dependency resolution.
319+resolution:
293−
320+
321+```
322+$ git clone git@github.com:fpco/stackage.git
323+$ stack update && stackage-curator check
324+```
325+
294−This can be used to make sure all version bounds are in place
326+This can be used to make sure all version bounds are in place, including for
295−(including for test suites and benchmarks), to check whether bounds
327+test suites and benchmarks, to check whether bounds can be lifted, and to get
296−can be lifted, and to get `tell-me-when-its-released` notifications.
328+[tell-me-when-its-released] notifications.
297−
329+
298−Notably this does not build anything, so you wont see any compilation
330+`stackage-curator` does not build anything, so you wont see any compilation
299−errors for builds/tests/benchmarks.
331+errors for builds, tests and benchmarks.
332+
333+[the Linux binary]: https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
334+[tell-me-when-its-released]: https://github.com/fpco/stackage/blob/master/CURATORS.md#waiting-for-new-releases
300
335
301## Adding new curators
336## Adding new curators
302
337
build-constraints.yaml+48−4
@@ -2382,6 +2382,8 @@ packages:
2382
2382
2383 "Stephen Diehl <stephen.m.diehl@gamil.com> @sdiehl":
2383 "Stephen Diehl <stephen.m.diehl@gamil.com> @sdiehl":
2384 - protolude
2384 - protolude
2385+ - repline
2386+ - picosat
2385
2387
2386 # "Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji_dayo":
2388 # "Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji_dayo":
2387 # - yesod-job-queue # build failure https://github.com/nakaji-dayo/yesod-job-queue/issues/10
2389 # - yesod-job-queue # build failure https://github.com/nakaji-dayo/yesod-job-queue/issues/10
@@ -2730,6 +2732,12 @@ packages:
2730 # https://github.com/fpco/stackage/issues/2177
2732 # https://github.com/fpco/stackage/issues/2177
2731 - aeson < 1.1.0.0
2733 - aeson < 1.1.0.0
2732
2734
2735+ # https://github.com/fpco/stackage/issues/2180
2736+ - MonadRandom < 0.5
2737+
2738+ # https://github.com/fpco/stackage/issues/2183
2739+ - glabrous < 0.2.2
2740+
2733# end of packages
2741# end of packages
2734
2742
2735# Package flags are applied to individual packages, and override the values of
2743# Package flags are applied to individual packages, and override the values of
@@ -3324,8 +3332,44 @@ hide:
3324- async-dejafu # https://github.com/yesodweb/wai/issues/579
3332- async-dejafu # https://github.com/yesodweb/wai/issues/579
3325- monads-tf # mtl is preferred
3333- monads-tf # mtl is preferred
3326- protolude # `module Panic` conflicts with base
3334- protolude # `module Panic` conflicts with base
3327−- cryptohash # Superceeded by cryptonite
3328−- crypto-random # Superceeded by cryptonite
3329−- crypto-pubkey # Superceded by cryptonite
3330−- crypto-numbers # Superceded by cryptonite
3331- crypto-api # `module Crypto.Random` conflicts with cryptonite
3335- crypto-api # `module Crypto.Random` conflicts with cryptonite
3336+- fay-base # conflicts with many modules in base and others
3337+- hashmap # conflicts with Data.HashSet in unordered-containers
3338+- hxt-unicode # conflicts with Data.String.UTF8 in utf8-string
3339+- hledger-web # conflicts with Foundation in foundation
3340+- plot-gtk3 # conflicts with many modules in plot-gtk
3341+- gtk3 # conflicts with many modules in gtk
3342+- regex-pcre-builtin # conflicts with many modules in regex-pcre
3343+- regex-compat-tdfa # conflicts with many modules in regex-compat
3344+- log # conflicts with modules in its dependencies
3345+- zip # conflicts with Codec.Archive.Zip in zip-archive
3346+- monad-extras # conflicts with Control.Monad.Extra in extra
3347+- control-monad-free # conflicts with Control.Monad.Free in free
3348+- prompt # conflicts with Control.Monad.Prompt in MonadPrompt
3349+- kawhi # conflicts with Control.Monad.Http in monad-http
3350+- language-c # conflicts with modules in language-c-quote
3351+- gl # conflicts with modules in OpenGLRaw
3352+- svg-tree # conflicts with Graphics.Svg in svg-builder
3353+- Glob # conflicts with System.FilePath.Glob in filemanip
3354+- nanospec # conflicts with Test.Hspec in hspec
3355+- HTF # conflicts with Test.Framework in test-framework
3356+- courier # conflicts with Network.Transport in network-transport
3357+- newtype-generics # conflicts with Control.Newtype in newtype
3358+- objective # conflicts with Control.Object in natural-transformation
3359+
3360+# Cryptonite deprecations
3361+- cipher-aes
3362+- cipher-blowfish
3363+- cipher-camellia
3364+- cipher-des
3365+- cipher-rc4
3366+- crypto-cipher-types
3367+- crypto-numbers
3368+- crypto-pubkey
3369+- crypto-random
3370+- cryptohash-conduit
3371+
3372+# cryptohash forks
3373+- cryptohash-md5
3374+- cryptohash-sha1
3375+- cryptohash-sha256