mirror of
https://github.com/dredx/prole.git
synced 2026-09-23 11:03:59 +00:00
- Introduce lib/shell helpers and keep etc/* scripts thin via compatibility shims - Move Kerberos validation to scripts/validation/check_kerberos.sh and update callers - Add deterministic shellspec unit tests under tests/shellspec/ and wire Maven to run them - Add minimal Spring Boot authority module with startup + /health endpoint and Maven wiring - Document the new layout in docs/layout.md Co-authored-by: Junie <junie@jetbrains.com>
86 lines
3.8 KiB
Docker
86 lines
3.8 KiB
Docker
# Build two images with Automated Builds using Docker Hub hooks.
|
|
# See https://github.com/shellspec/shellspec/tree/master/.dockerhub/hooks
|
|
|
|
# ======================================================================
|
|
# source code
|
|
# ======================================================================
|
|
FROM scratch as source
|
|
COPY shellspec LICENSE /opt/shellspec/
|
|
COPY lib /opt/shellspec/lib
|
|
COPY libexec /opt/shellspec/libexec
|
|
|
|
# ======================================================================
|
|
# Kcov builder
|
|
# ======================================================================
|
|
FROM debian:10 AS builder
|
|
ENV KCOV=v38 DEBIAN_FRONTEND=noninteractive DEBCONF_NOWARNINGS=yes
|
|
WORKDIR /usr/local/src
|
|
RUN apt-get update && apt-get install -y \
|
|
build-essential cmake ninja-build python3 wget \
|
|
binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev
|
|
RUN wget -q https://github.com/SimonKagstrom/kcov/archive/$KCOV.tar.gz
|
|
RUN tar xzf $KCOV.tar.gz -C ./ --strip-components 1
|
|
RUN mkdir build && cd build \
|
|
&& cmake -G Ninja .. && cmake --build . --target install
|
|
|
|
# ======================================================================
|
|
# Kcov image
|
|
# TAG: shellspec-debian:kcov, shellspec-debian:[VERSION]-kcov
|
|
# ======================================================================
|
|
FROM debian:10 as kcov
|
|
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NOWARNINGS=yes \
|
|
&& apt-get update && apt-get install -y binutils libcurl4 zlib1g libdw1 \
|
|
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
COPY --from=builder /usr/local/bin/kcov* /usr/local/bin/
|
|
COPY --from=builder /usr/local/share/doc/kcov /usr/local/share/doc/kcov
|
|
COPY --from=source /opt/shellspec /opt/shellspec
|
|
COPY .dockerhub/shellspec-docker-entrypoint.sh /shellspec-docker
|
|
ENV PATH /opt/shellspec/:$PATH
|
|
WORKDIR /src
|
|
ENTRYPOINT [ "shellspec" ]
|
|
ARG CREATED
|
|
ARG AUTHORS
|
|
ARG VERSION
|
|
ARG REVISION
|
|
ARG REFNAME
|
|
LABEL org.opencontainers.image.created=$CREATED \
|
|
org.opencontainers.image.authors=$AUTHORS \
|
|
org.opencontainers.image.url="https://shellspec.info/" \
|
|
org.opencontainers.image.documentation="https://github.com/shellspec/shellspec" \
|
|
org.opencontainers.image.source="https://github.com/shellspec/shellspec.git" \
|
|
org.opencontainers.image.version=$VERSION \
|
|
org.opencontainers.image.revision=$REVISION \
|
|
org.opencontainers.image.vendor="shellspec" \
|
|
org.opencontainers.image.licenses="MIT" \
|
|
org.opencontainers.image.ref.name=$REFNAME \
|
|
org.opencontainers.image.title="shellspec-debian+kcov" \
|
|
org.opencontainers.image.description="Shellspec (Debian based with Kcov)"
|
|
|
|
# ======================================================================
|
|
# Standard image (default)
|
|
# TAG: shellspec-debian:latest, shellspec-debian:[VERSION]
|
|
# ======================================================================
|
|
FROM debian:10 as standard
|
|
COPY --from=source /opt/shellspec /opt/shellspec
|
|
COPY .dockerhub/shellspec-docker-entrypoint.sh /shellspec-docker
|
|
ENV PATH /opt/shellspec/:$PATH
|
|
WORKDIR /src
|
|
ENTRYPOINT [ "shellspec" ]
|
|
ARG CREATED
|
|
ARG AUTHORS
|
|
ARG VERSION
|
|
ARG REVISION
|
|
ARG REFNAME
|
|
LABEL org.opencontainers.image.created=$CREATED \
|
|
org.opencontainers.image.authors=$AUTHORS \
|
|
org.opencontainers.image.url="https://shellspec.info/" \
|
|
org.opencontainers.image.documentation="https://github.com/shellspec/shellspec" \
|
|
org.opencontainers.image.source="https://github.com/shellspec/shellspec.git" \
|
|
org.opencontainers.image.version=$VERSION \
|
|
org.opencontainers.image.revision=$REVISION \
|
|
org.opencontainers.image.vendor="shellspec" \
|
|
org.opencontainers.image.licenses="MIT" \
|
|
org.opencontainers.image.ref.name=$REFNAME \
|
|
org.opencontainers.image.title="shellspec-debian" \
|
|
org.opencontainers.image.description="Shellspec (Debian based)"
|