on master help sign in
Update from parent
commit06936210ecae0440de9c220fc674b66f34a1b4fd authororome <royl@aldaron.com> dateWed 4 Jan 2017, 10:35 (10 years ago) parent03302d2f6b58a9
2 files changed+102−23
CURATORS.md+54−19 build-constraints.yaml+48−4
CURATORS.md+54−19
@@ -94,7 +94,19 @@ You can try this when you notice that a package has been updated. You
9494can also periodically try to lift bounds (I think it's good to do this
9595at the start of your week /@bergmark)
9696
97−If stackage-curator is happy commit the change ("Remove upper bounds and close #X").
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+
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.
98110
99111### Amending upper bounds
100112
@@ -154,9 +166,12 @@ Comment out the offending packages from the "packages" section and add
154166a comment saying why it was disabled:
155167
156168```
157− # - swagger # BLOCKED aeson 1.0
169+ # - swagger # bounds: aeson 1.0
158170```
159171
172+If this causes reverse dependencies to be disabled we should notify
173+the maintainers of those packages.
174+
160175
161176## Updating the content of the Docker image used for building
162177
@@ -277,26 +292,46 @@ You can wipe the nightly cache and rebuild everything by doing
277292`rm -rf /var/stackage/stackage/automated/nightly`.
278293Replace nightly with `lts7` to wipe the LTS 7 cache.
279294
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+
280304## Local curator setup
281305
282306We 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
284−yourself.
285−
286−It is useful to be able to modify constraints locally before pushing to
287−the repository. To do this first install stackage-curator:
288−`git clone git@github.com:fpco/stackage-curator.git && cd stackage-curator && stack install`
289−or get the linux binary: https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
290−(it is a good idea to upgrade stackage-curator at least at the start of your week as curator).
291−Then clone the stackage repo `git clone git@github.com:fpco/stackage.git`.
292−Inside it run `stack update && stackage-curator check` to get new packages and do dependency resolution.
293−
294−This can be used to make sure all version bounds are in place
295−(including for test suites and benchmarks), to check whether bounds
296−can be lifted, and to get `tell-me-when-its-released` notifications.
297−
298−Notably this does not build anything, so you wont see any compilation
299−errors for builds/tests/benchmarks.
307+much time. However, some steps on the other hand are much faster to do
308+yourself, e.g. verifying constraints without building anything.
309+
310+To get started, install `stackage-curator` via Git, or [the Linux binary]:
311+
312+```
313+$ git clone git@github.com:fpco/stackage-curator.git
314+$ cd stackage-curator && stack install
315+```
316+
317+It is a good idea to upgrade `stackage-curator` at the start of your week.
318+Then, clone the stackage repo, get the latest packages and run dependency
319+resolution:
320+
321+```
322+$ git clone git@github.com:fpco/stackage.git
323+$ stack update && stackage-curator check
324+```
325+
326+This can be used to make sure all version bounds are in place, including for
327+test suites and benchmarks, to check whether bounds can be lifted, and to get
328+[tell-me-when-its-released] notifications.
329+
330+`stackage-curator` does not build anything, so you wont see any compilation
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
300335
301336## Adding new curators
302337
build-constraints.yaml+48−4
@@ -2382,6 +2382,8 @@ packages:
23822382
23832383 "Stephen Diehl <stephen.m.diehl@gamil.com> @sdiehl":
23842384 - protolude
2385+ - repline
2386+ - picosat
23852387
23862388 # "Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji_dayo":
23872389 # - yesod-job-queue # build failure https://github.com/nakaji-dayo/yesod-job-queue/issues/10
@@ -2730,6 +2732,12 @@ packages:
27302732 # https://github.com/fpco/stackage/issues/2177
27312733 - aeson < 1.1.0.0
27322734
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+
27332741# end of packages
27342742
27352743# Package flags are applied to individual packages, and override the values of
@@ -3324,8 +3332,44 @@ hide:
33243332- async-dejafu # https://github.com/yesodweb/wai/issues/579
33253333- monads-tf # mtl is preferred
33263334- 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
33313335- 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