mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-03-12 12:35:25 -07:00
* Adds a shell script with functions to install multi-architecture docker support, as well as build, deploy, and test the shellcheck docker images for the same set of architectures for which binaries were already built and deployed as tarballs. * Hooks up the multi-architecture docker build, deploy, and test to the existing Travis CI/CD pipeline. It is organized as a separate stage which only runs if all previous steps in the already existing test stage succeed.
30 lines
876 B
Docker
30 lines
876 B
Docker
# Build-only image
|
|
FROM ubuntu:18.04 AS build
|
|
USER root
|
|
WORKDIR /opt/shellCheck
|
|
|
|
# Install OS deps
|
|
RUN apt-get update && apt-get install -y ghc cabal-install
|
|
|
|
# Install Haskell deps
|
|
# (This is a separate copy/run so that source changes don't require rebuilding)
|
|
COPY ShellCheck.cabal ./
|
|
RUN cabal update && cabal install --dependencies-only --ghc-options="-optlo-Os -split-sections"
|
|
|
|
# Copy source and build it
|
|
COPY LICENSE shellcheck.hs ./
|
|
COPY src src
|
|
RUN cabal build Paths_ShellCheck && \
|
|
ghc -optl-static -optl-pthread -isrc -idist/build/autogen --make shellcheck -split-sections -optc-Wl,--gc-sections -optlo-Os && \
|
|
strip --strip-all shellcheck
|
|
|
|
RUN mkdir -p /out/bin && \
|
|
cp shellcheck /out/bin/
|
|
|
|
# Resulting ShellCheck image
|
|
FROM scratch
|
|
LABEL maintainer="Vidar Holen <vidar@vidarholen.net>"
|
|
WORKDIR /mnt
|
|
COPY --from=build /out /
|
|
ENTRYPOINT ["/bin/shellcheck"]
|