Skip to content

Commit

Permalink
Merge pull request #6425 from phadej/backporting-to-3.0
Browse files Browse the repository at this point in the history
Backporting to 3.0
  • Loading branch information
phadej authored Dec 13, 2019
2 parents b7a7c95 + 6a2a5aa commit 8199c3f
Show file tree
Hide file tree
Showing 21 changed files with 556 additions and 18 deletions.
51 changes: 51 additions & 0 deletions .docker/validate-7.10.3.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
FROM phadej/ghc:7.10.3-bionic

# We need newer compiler, to install cabal-plan
RUN apt-get update
RUN apt-get install -y ghc-8.6.5

# Install cabal-plan
RUN cabal v2-update
RUN cabal v2-install -w /opt/ghc/8.6.5/bin/ghc-8.6.5 cabal-plan --constraint 'cabal-plan ^>=0.6'

# Remove ghc-8.6.5, so it doesn't interfere
RUN apt-get remove -y ghc-8.6.5

# 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-7.10.3 --lib \
aeson \
async \
base-compat \
base16-bytestring \
base64-bytestring \
cryptohash-sha256 \
Diff \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-tdfa \
resolv \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
tree-diff \
zlib \
&& rm -rf $HOME/.ghc

# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-7.10.3 -v
62 changes: 62 additions & 0 deletions .docker/validate-7.6.3.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# TODO: change to bionic
# https://github.com/haskell-CI/haskell-ci/issues/342
FROM phadej/ghc:7.6.3-xenial

# We need newer compiler, to install cabal-plan
RUN apt-get update
RUN apt-get install -y ghc-8.6.5 ghc-7.6.3-dyn

# Install cabal-plan
RUN cabal v2-update
RUN cabal v2-install -w /opt/ghc/8.6.5/bin/ghc-8.6.5 cabal-plan --constraint 'cabal-plan ^>=0.6'

# Remove ghc-8.6.5, so it doesn't interfere
RUN apt-get remove -y ghc-8.6.5

# 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-7.6.3 --lib \
aeson \
async \
base-compat \
base16-bytestring \
base64-bytestring \
cryptohash-sha256 \
Diff \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-tdfa \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
tree-diff \
zlib \
--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" \
&& rm -rf $HOME/.ghc

# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -l -w ghc-7.6.3 -v
62 changes: 62 additions & 0 deletions .docker/validate-7.8.4.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# TODO: change to bionic
# https://github.com/haskell-CI/haskell-ci/issues/342
FROM phadej/ghc:7.8.4-xenial

# We need newer compiler, to install cabal-plan
RUN apt-get update
RUN apt-get install -y ghc-8.6.5 ghc-7.8.4-dyn

# Install cabal-plan
RUN cabal v2-update
RUN cabal v2-install -w /opt/ghc/8.6.5/bin/ghc-8.6.5 cabal-plan --constraint 'cabal-plan ^>=0.6'

# Remove ghc-8.6.5, so it doesn't interfere
RUN apt-get remove -y ghc-8.6.5

# 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-7.8.4 --lib \
aeson \
async \
base-compat \
base16-bytestring \
base64-bytestring \
cryptohash-sha256 \
Diff \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-tdfa \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
tree-diff \
zlib \
--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" \
&& rm -rf $HOME/.ghc

# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -l -w ghc-7.8.4 -v
44 changes: 44 additions & 0 deletions .docker/validate-8.0.2.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
FROM phadej/ghc:8.0.2-bionic

# Install cabal-plan
RUN cabal v2-update
RUN cabal v2-install cabal-plan --constraint 'cabal-plan ^>=0.6'

# 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.0.2 --lib \
aeson \
async \
base-compat \
base16-bytestring \
base64-bytestring \
cryptohash-sha256 \
Diff \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-tdfa \
resolv \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
tree-diff \
zlib \
&& rm -rf $HOME/.ghc

# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-8.0.2 -v
44 changes: 44 additions & 0 deletions .docker/validate-8.2.2.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
FROM phadej/ghc:8.2.2-bionic

# Install cabal-plan
RUN cabal v2-update
RUN cabal v2-install cabal-plan --constraint 'cabal-plan ^>=0.6'

# 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.2.2 --lib \
aeson \
async \
base-compat \
base16-bytestring \
base64-bytestring \
cryptohash-sha256 \
Diff \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-tdfa \
resolv \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
tree-diff \
zlib \
&& rm -rf $HOME/.ghc

# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-8.2.2 -v
44 changes: 44 additions & 0 deletions .docker/validate-8.4.4.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
FROM phadej/ghc:8.6.5-bionic

# Install cabal-plan
RUN cabal v2-update
RUN cabal v2-install cabal-plan --constraint 'cabal-plan ^>=0.6'

# 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.6.5 --lib \
aeson \
async \
base-compat \
base16-bytestring \
base64-bytestring \
cryptohash-sha256 \
Diff \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-tdfa \
resolv \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
tree-diff \
zlib \
&& rm -rf $HOME/.ghc

# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-8.6.5 -v
44 changes: 44 additions & 0 deletions .docker/validate-8.6.5.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
FROM phadej/ghc:8.6.5-bionic

# Install cabal-plan
RUN cabal v2-update
RUN cabal v2-install cabal-plan --constraint 'cabal-plan ^>=0.6'

# 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.6.5 --lib \
aeson \
async \
base-compat \
base16-bytestring \
base64-bytestring \
cryptohash-sha256 \
Diff \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-tdfa \
resolv \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
tree-diff \
zlib \
&& rm -rf $HOME/.ghc

# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh -w ghc-8.6.5 -v
Loading

0 comments on commit 8199c3f

Please sign in to comment.