summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.circleci/config.yml19
-rw-r--r--.circleci/images/x86_64-linux-fedora/Dockerfile26
2 files changed, 45 insertions, 0 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 2868f8d8eb..182a66b145 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -230,6 +230,24 @@ jobs:
- *collectartifacts
- *storeartifacts
+ "validate-x86_64-fedora":
+ resource_class: xlarge
+ docker:
+ - image: ghcci/x86_64-linux-fedora:0.0.2
+ environment:
+ <<: *buildenv
+ steps:
+ - checkout
+ - *prepare
+ - *submodules
+ - *boot
+ - *configure_unix
+ - *make
+ - *test
+ - *bindist
+ - *collectartifacts
+ - *storeartifacts
+
workflows:
version: 2
validate:
@@ -241,6 +259,7 @@ workflows:
- validate-x86_64-linux-llvm
- validate-i386-linux
- validate-hadrian-x86_64-linux
+ - validate-x86_64-fedora
nightly:
triggers:
diff --git a/.circleci/images/x86_64-linux-fedora/Dockerfile b/.circleci/images/x86_64-linux-fedora/Dockerfile
new file mode 100644
index 0000000000..066e84fd85
--- /dev/null
+++ b/.circleci/images/x86_64-linux-fedora/Dockerfile
@@ -0,0 +1,26 @@
+FROM fedora:27
+
+ENV LANG C.UTF-8
+
+RUN dnf -y install coreutils binutils which git make automake autoconf gcc perl python3 texinfo xz lbzip2 patch openssh-clients sudo curl zlib-devel sqlite ncurses-compat-libs gmp-devel ncurses-devel gcc-c++ findutils
+
+# Install GHC and cabal
+RUN cd /tmp && curl https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb8-linux.tar.xz | tar -Jx
+RUN cd /tmp/ghc-8.2.2 && ./configure --prefix=/opt/ghc/8.2.2
+RUN cd /tmp/ghc-8.2.2 && make install
+RUN mkdir -p /opt/cabal/bin
+RUN cd /opt/cabal/bin && curl https://www.haskell.org/cabal/release/cabal-install-2.0.0.1/cabal-install-2.0.0.1-x86_64-unknown-linux.tar.gz | tar -zx
+ENV PATH /opt/ghc/8.2.2/bin:/opt/cabal/bin:$PATH
+
+# Create a normal user.
+RUN adduser ghc --comment "GHC builds"
+RUN echo "ghc ALL = NOPASSWD : ALL" > /etc/sudoers.d/ghc
+USER ghc
+WORKDIR /home/ghc/
+
+# Install Alex, Happy, and HsColor with Cabal
+RUN cabal update
+RUN cabal install alex happy hscolour
+ENV PATH /home/ghc/.cabal/bin:$PATH
+
+CMD ["bash"]