From 6b81a9924c46836227ef9fc06e552ded17cd2383 Mon Sep 17 00:00:00 2001 From: Pratik Mallya Date: Wed, 14 Mar 2018 05:25:52 -0500 Subject: [PATCH] Simplify Dockerfile Use multi stage Dockerfile to greatly simplify build. --- Dockerfile | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 58ec83a..9a6abc1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,25 @@ +FROM ubuntu:16.04 AS build + +# Install GHC and cabal +USER root +WORKDIR /opt/shellCheck + +COPY . . + +RUN apt-get update && apt-get install -y \ + ghc \ + cabal-install +RUN cabal update && \ + cabal install --dependencies-only +RUN cabal build Paths_ShellCheck && \ + ghc -optl-static -optl-pthread -idist/build/autogen --make shellcheck && \ + strip --strip-all shellcheck + +RUN mkdir -p /out/bin && \ + cp shellcheck /out/bin/ + FROM scratch - LABEL maintainer="Vidar Holen " - -# This file assumes ShellCheck has already been built. -# See https://github.com/koalaman/scbuilder -COPY shellcheck /bin/shellcheck - -WORKDIR /mnt +WORKDIR / +COPY --from=build /out / ENTRYPOINT ["/bin/shellcheck"]