Unverified Commit 33860e5b authored by Oleg Grenrus's avatar Oleg Grenrus Committed by GitHub

Merge pull request #6900 from haskell/validate-dockerfile-generator

Template docker files used for validation
parents 1b208161 bbc8872d
......@@ -8,8 +8,16 @@ RUN mkdir -p /root/.cabal/bin && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan
# Install cabal-env
RUN curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz && \
echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01 cabal-env.xz" | sha256sum -c - && \
xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env && \
rm -f cabal-env.xz && \
chmod a+x $HOME/.cabal/bin/cabal-env
# Update index
RUN cabal v2-update
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
......@@ -17,6 +25,7 @@ RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-7.10.3 --lib \
Cabal \
aeson \
async \
base-compat \
......@@ -27,14 +36,15 @@ RUN cabal v2-install -w ghc-7.10.3 --lib \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
lukko \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-posix \
regex-tdfa \
resolv \
rere \
statistics \
tar \
tasty \
......@@ -42,10 +52,27 @@ RUN cabal v2-install -w ghc-7.10.3 --lib \
tasty-hunit \
tasty-quickcheck \
tree-diff \
void \
zlib \
resolv \
parsec \
text \
--constraint="rere -rere-cfg" \
--constraint="these -assoc" \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
--constraint="deepseq installed" \
--constraint="directory installed" \
--constraint="filepath installed" \
--constraint="pretty installed" \
--constraint="process installed" \
--constraint="time installed" \
--constraint="unix installed" \
--constraint="transformers installed" \
&& rm -rf $HOME/.ghc
# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-7.10.3 -v
RUN sh ./validate.sh -w ghc-7.10.3 -v
# TODO: change to bionic
# https://github.com/haskell-CI/haskell-ci/issues/342
FROM phadej/ghc:7.6.3-xenial
# Install cabal-plan
......@@ -10,12 +8,19 @@ RUN mkdir -p /root/.cabal/bin && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan
# Install cabal-env
RUN curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz && \
echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01 cabal-env.xz" | sha256sum -c - && \
xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env && \
rm -f cabal-env.xz && \
chmod a+x $HOME/.cabal/bin/cabal-env
# We need newer compiler, to install cabal-plan
RUN apt-get update
RUN apt-get install -y ghc-7.6.3-dyn
# Update index
RUN cabal v2-update
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
......@@ -23,6 +28,7 @@ RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-7.6.3 --lib \
Cabal \
aeson \
async \
base-compat \
......@@ -33,28 +39,28 @@ RUN cabal v2-install -w ghc-7.6.3 --lib \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
nats \
lukko \
network \
optparse-applicative \
parsec \
pretty-show \
regex-compat-tdfa \
regex-posix \
regex-tdfa \
rere \
semigroups \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
text \
tree-diff \
unordered-containers \
void \
zlib \
parsec \
text \
--constraint="rere -rere-cfg" \
--constraint="these -assoc" \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
......
# TODO: change to bionic
# https://github.com/haskell-CI/haskell-ci/issues/342
FROM phadej/ghc:7.8.4-xenial
# Install cabal-plan
......@@ -10,12 +8,19 @@ RUN mkdir -p /root/.cabal/bin && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan
# Install cabal-env
RUN curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz && \
echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01 cabal-env.xz" | sha256sum -c - && \
xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env && \
rm -f cabal-env.xz && \
chmod a+x $HOME/.cabal/bin/cabal-env
# We need newer compiler, to install cabal-plan
RUN apt-get update
RUN apt-get install -y ghc-7.8.4-dyn
# Update index
RUN cabal v2-update
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
......@@ -23,6 +28,7 @@ RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-7.8.4 --lib \
Cabal \
aeson \
async \
base-compat \
......@@ -33,26 +39,28 @@ RUN cabal v2-install -w ghc-7.8.4 --lib \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
lukko \
network \
optparse-applicative \
parsec \
pretty-show \
regex-compat-tdfa \
regex-posix \
regex-tdfa \
rere \
semigroups \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
text \
tree-diff \
unordered-containers \
void \
zlib \
parsec \
text \
--constraint="rere -rere-cfg" \
--constraint="these -assoc" \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
......@@ -63,6 +71,7 @@ RUN cabal v2-install -w ghc-7.8.4 --lib \
--constraint="process installed" \
--constraint="time installed" \
--constraint="unix installed" \
--constraint="transformers installed" \
&& rm -rf $HOME/.ghc
# Validate
......
......@@ -8,8 +8,9 @@ RUN mkdir -p /root/.cabal/bin && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan
# Update index
RUN cabal v2-update
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
......@@ -17,6 +18,7 @@ RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-8.0.2 --lib \
Cabal \
aeson \
async \
base-compat \
......@@ -27,14 +29,15 @@ RUN cabal v2-install -w ghc-8.0.2 --lib \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
lukko \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-posix \
regex-tdfa \
resolv \
rere \
statistics \
tar \
tasty \
......@@ -42,10 +45,25 @@ RUN cabal v2-install -w ghc-8.0.2 --lib \
tasty-hunit \
tasty-quickcheck \
tree-diff \
void \
zlib \
resolv \
--constraint="rere -rere-cfg" \
--constraint="these -assoc" \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
--constraint="deepseq installed" \
--constraint="directory installed" \
--constraint="filepath installed" \
--constraint="pretty installed" \
--constraint="process installed" \
--constraint="time installed" \
--constraint="unix installed" \
--constraint="transformers installed" \
&& rm -rf $HOME/.ghc
# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-8.0.2 -v
RUN sh ./validate.sh -w ghc-8.0.2 -v
......@@ -8,8 +8,16 @@ RUN mkdir -p /root/.cabal/bin && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan
# Install cabal-env
RUN curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz && \
echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01 cabal-env.xz" | sha256sum -c - && \
xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env && \
rm -f cabal-env.xz && \
chmod a+x $HOME/.cabal/bin/cabal-env
# Update index
RUN cabal v2-update
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
......@@ -17,6 +25,7 @@ RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-8.10.1 --lib \
Cabal \
aeson \
async \
base-compat \
......@@ -27,13 +36,15 @@ RUN cabal v2-install -w ghc-8.10.1 --lib \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
lukko \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-posix \
regex-tdfa \
rere \
statistics \
tar \
tasty \
......@@ -41,7 +52,11 @@ RUN cabal v2-install -w ghc-8.10.1 --lib \
tasty-hunit \
tasty-quickcheck \
tree-diff \
void \
zlib \
resolv \
--constraint="rere -rere-cfg" \
--constraint="these -assoc" \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
......@@ -52,9 +67,10 @@ RUN cabal v2-install -w ghc-8.10.1 --lib \
--constraint="process installed" \
--constraint="time installed" \
--constraint="unix installed" \
--constraint="transformers installed" \
&& rm -rf $HOME/.ghc
# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-8.10.1 -v
RUN sh ./validate.sh -w ghc-8.10.1 -v
......@@ -8,8 +8,16 @@ RUN mkdir -p /root/.cabal/bin && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan
# Install cabal-env
RUN curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz && \
echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01 cabal-env.xz" | sha256sum -c - && \
xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env && \
rm -f cabal-env.xz && \
chmod a+x $HOME/.cabal/bin/cabal-env
# Update index
RUN cabal v2-update
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
......@@ -17,6 +25,7 @@ RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-8.2.2 --lib \
Cabal \
aeson \
async \
base-compat \
......@@ -27,14 +36,15 @@ RUN cabal v2-install -w ghc-8.2.2 --lib \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
lukko \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-posix \
regex-tdfa \
resolv \
rere \
statistics \
tar \
tasty \
......@@ -42,10 +52,27 @@ RUN cabal v2-install -w ghc-8.2.2 --lib \
tasty-hunit \
tasty-quickcheck \
tree-diff \
void \
zlib \
resolv \
parsec \
text \
--constraint="rere -rere-cfg" \
--constraint="these -assoc" \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
--constraint="deepseq installed" \
--constraint="directory installed" \
--constraint="filepath installed" \
--constraint="pretty installed" \
--constraint="process installed" \
--constraint="time installed" \
--constraint="unix installed" \
--constraint="transformers installed" \
&& rm -rf $HOME/.ghc
# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-8.2.2 -v
RUN sh ./validate.sh -w ghc-8.2.2 -v
......@@ -8,8 +8,16 @@ RUN mkdir -p /root/.cabal/bin && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan
# Install cabal-env
RUN curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz && \
echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01 cabal-env.xz" | sha256sum -c - && \
xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env && \
rm -f cabal-env.xz && \
chmod a+x $HOME/.cabal/bin/cabal-env
# Update index
RUN cabal v2-update
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
......@@ -17,6 +25,7 @@ RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-8.4.4 --lib \
Cabal \
aeson \
async \
base-compat \
......@@ -27,14 +36,15 @@ RUN cabal v2-install -w ghc-8.4.4 --lib \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
lukko \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-posix \
regex-tdfa \
resolv \
rere \
statistics \
tar \
tasty \
......@@ -42,10 +52,25 @@ RUN cabal v2-install -w ghc-8.4.4 --lib \
tasty-hunit \
tasty-quickcheck \
tree-diff \
void \
zlib \
resolv \
--constraint="rere -rere-cfg" \
--constraint="these -assoc" \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
--constraint="deepseq installed" \
--constraint="directory installed" \
--constraint="filepath installed" \
--constraint="pretty installed" \
--constraint="process installed" \
--constraint="time installed" \
--constraint="unix installed" \
--constraint="transformers installed" \
&& rm -rf $HOME/.ghc
# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-8.4.4 -v
RUN sh ./validate.sh -w ghc-8.4.4 -v
......@@ -8,8 +8,16 @@ RUN mkdir -p /root/.cabal/bin && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan
# Install cabal-env
RUN curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz && \
echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01 cabal-env.xz" | sha256sum -c - && \
xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env && \
rm -f cabal-env.xz && \
chmod a+x $HOME/.cabal/bin/cabal-env
# Update index
RUN cabal v2-update
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
......@@ -17,6 +25,7 @@ RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-8.6.5 --lib \
Cabal \
aeson \
async \
base-compat \
......@@ -27,14 +36,15 @@ RUN cabal v2-install -w ghc-8.6.5 --lib \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
lukko \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-posix \
regex-tdfa \
resolv \
rere \
statistics \
tar \
tasty \
......@@ -42,10 +52,25 @@ RUN cabal v2-install -w ghc-8.6.5 --lib \
tasty-hunit \
tasty-quickcheck \
tree-diff \
void \
zlib \
resolv \
--constraint="rere -rere-cfg" \
--constraint="these -assoc" \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
--constraint="deepseq installed" \
--constraint="directory installed" \
--constraint="filepath installed" \
--constraint="pretty installed" \
--constraint="process installed" \
--constraint="time installed" \
--constraint="unix installed" \
--constraint="transformers installed" \
&& rm -rf $HOME/.ghc
# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-8.6.5 -v
RUN sh ./validate.sh -w ghc-8.6.5 -v
FROM phadej/ghc:8.8.1-bionic
FROM phadej/ghc:8.8.3-bionic
# Install cabal-plan
RUN mkdir -p /root/.cabal/bin && \
......@@ -8,23 +8,24 @@ RUN mkdir -p /root/.cabal/bin && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan
# install cabal-env
# Install cabal-env
RUN curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz && \
echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01 cabal-env.xz" | sha256sum -c - && \
xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env && \
rm -f cabal-env.xz && \
chmod a+x $HOME/.cabal/bin/cabal-env
# Update index
RUN cabal v2-update
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
RUN cabal v2-install doctest --constraint 'doctest ^>= 0.16.2'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-8.8.1 --lib \
RUN cabal v2-install -w ghc-8.8.3 --lib \
Cabal \
aeson \
async \
base-compat \
......@@ -35,15 +36,15 @@ RUN cabal v2-install -w ghc-8.8.1 --lib \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
lukko \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-posix \
regex-tdfa \
rere \
resolv \
statistics \
tar \
tasty \
......@@ -51,11 +52,25 @@ RUN cabal v2-install -w ghc-8.8.1 --lib \
tasty-hunit \
tasty-quickcheck \
tree-diff \
unordered-containers \
void \
zlib \
resolv \
--constraint="rere -rere-cfg" \
--constraint="these -assoc" \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
--constraint="deepseq installed" \
--constraint="directory installed" \
--constraint="filepath installed" \
--constraint="pretty installed" \
--constraint="process installed" \
--constraint="time installed" \
--constraint="unix installed" \
--constraint="transformers installed" \
&& rm -rf $HOME/.ghc
# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-8.8.1 -v --doctest --solver-benchmarks --complete-hackage-tests
RUN sh ./validate.sh --doctest --solver-benchmarks --complete-hackage -w ghc-8.8.3 -v
FROM phadej/ghc:8.8.1-xenial
FROM phadej/ghc:8.8.3-xenial
# Install cabal-plan
RUN mkdir -p /root/.cabal/bin && \
......@@ -13,14 +13,15 @@ RUN apt-get update
RUN apt-get install -y ghc-7.0.4 ghc-7.0.4-dyn ghc-7.2.2 ghc-7.2.2-dyn ghc-7.4.2 ghc-7.4.2-dyn
# Update index
RUN cabal v2-update
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-8.8.1 --lib \
RUN cabal v2-install -w ghc-8.8.3 --lib \
Cabal \
aeson \
async \
base-compat \
......@@ -31,14 +32,15 @@ RUN cabal v2-install -w ghc-8.8.1 --lib \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \