on master help sign in
CURATORS.md: adding Debian packages to the build docker image
01ecbdcJens Petersen
CURATORS.md+12−4
@@ -38,12 +38,20 @@ to refer to the issue for workarounds added to that file.
38* __Skipping tests and benchmarks__ If the upper bound is only in a test suite or benchmark, you can add the relevant package to skipped-tests or skipped-benchmarks. For example, if conduit had an upper bound on criterion for a benchmark, you could added conduit as a skipped benchmark.
38* __Skipping tests and benchmarks__ If the upper bound is only in a test suite or benchmark, you can add the relevant package to skipped-tests or skipped-benchmarks. For example, if conduit had an upper bound on criterion for a benchmark, you could added conduit as a skipped benchmark.
39* __Excluding packages__ In an extreme case of a non-responsive maintainer, you can remove the package entirely from Stackage. We try to avoid that whenever possible
39* __Excluding packages__ In an extreme case of a non-responsive maintainer, you can remove the package entirely from Stackage. We try to avoid that whenever possible
40
40
41−## Upgrading GHC versions
41+## Updating the content of the Docker image used for building
42
42
43+### Adding Debian packages for required system tools or libraries
44+Additional (non-Haskell) system libraries or tools should be added to `stackage/debian-bootstrap.sh`.
45+Committing the changes should trigger a DOckerHub. Normally only the master branch needs to be updated
46+since new packages are not added to the current lts release.
47+
48+### Upgrading GHC version
43The Dockerfile contains information on which GHC versions should be used. You
49The Dockerfile contains information on which GHC versions should be used. You
44can modify it and push it to Github to trigger a DockerHub build. The master
50can modify it and push it to Github to trigger a DockerHub build. The master
45−branch is used for nightlies, and the lts branch for LTS. Once a new Docker
51+branch is used for nightlies, and the lts branch for LTS.
52+
53+### Getting the new image to the build server
46−image is available, you'll need to pull it onto the stackage-build server (see
54+Once a new Docker image is available, you'll need to pull it onto the stackage-build server (see
47below). Instead of pulling an unbounded number of images, I typically just
55below). Instead of pulling an unbounded number of images, I typically just
48delete all of the old images and let the new ones get downloaded:
56delete all of the old images and let the new ones get downloaded:
49
57
@@ -52,7 +60,7 @@ docker rm $(docker ps -a -q)
52docker rmi $(docker images -q)
60docker rmi $(docker images -q)
53```
61```
54
62
55−You should also delete the cache directories on the stackage-build server to
63+For a new GHC version you should also delete the cache directories on the stackage-build server to
56force all packages to be rebuilt. See: [issue#746](https://github.com/fpco/stackage/issues/746).
64force all packages to be rebuilt. See: [issue#746](https://github.com/fpco/stackage/issues/746).
57
65
58## stackage-build server
66## stackage-build server