Add validate-revision workflow
[cabal.git] / .docker / validate-8.8.4.dockerfile
blobfc268397426f733175f8357ae5b4c244a7ba7123
1 FROM    phadej/ghc:8.8.4-bionic
3 # Install cabal-plan
4 RUN     mkdir -p /root/.cabal/bin && \
5         curl -L https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz && \
6         echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c - && \
7         xz -d < cabal-plan.xz > /root/.cabal/bin/cabal-plan && \
8         rm -f cabal-plan.xz && \
9         chmod a+x /root/.cabal/bin/cabal-plan
11 # Install cabal-env
12 RUN     curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz && \
13         echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01  cabal-env.xz" | sha256sum -c - && \
14         xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env && \
15         rm -f cabal-env.xz && \
16         chmod a+x $HOME/.cabal/bin/cabal-env
19 # Update index
20 RUN     cabal v2-update --index-state="2020-06-12T23:36:15Z"
22 # We install happy, so it's in the store; we (hopefully) don't use it directly.
23 RUN     cabal v2-install happy --constraint 'happy ^>=1.19.12'
25 # Install some other dependencies
26 # Remove $HOME/.ghc so there aren't any environments
27 RUN     cabal v2-install -w ghc-8.8.4 --lib \
28           Cabal \
29           aeson \
30           async \
31           base-compat \
32           base16-bytestring \
33           base64-bytestring \
34           cryptohash-sha256 \
35           Diff \
36           echo \
37           ed25519 \
38           edit-distance \
39           HTTP \
40           lukko \
41           network \
42           optparse-applicative \
43           pretty-show \
44           regex-compat-tdfa \
45           regex-posix \
46           regex-tdfa \
47           rere \
48           statistics \
49           tar \
50           tasty \
51           tasty-golden \
52           tasty-hunit \
53           tasty-quickcheck \
54           tree-diff \
55           void \
56           zlib \
57           resolv \
58       --constraint="rere -rere-cfg" \
59       --constraint="these -assoc" \
60       --constraint="bytestring installed" \
61       --constraint="binary     installed" \
62       --constraint="containers installed" \
63       --constraint="deepseq    installed" \
64       --constraint="directory  installed" \
65       --constraint="filepath   installed" \
66       --constraint="pretty     installed" \
67       --constraint="process    installed" \
68       --constraint="time       installed" \
69       --constraint="unix       installed" \
70       --constraint="transformers installed" \
71         && rm -rf $HOME/.ghc
73 # Validate
74 WORKDIR /build
75 COPY    . /build
76 RUN     sh ./validate.sh --doctest --solver-benchmarks --complete-hackage -w ghc-8.8.4 -v