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>
83 lines
3.5 KiB
Docker
83 lines
3.5 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 alpine:3.12 as builder
|
|
ENV KCOV=v38 CXXFLAGS=-D__ptrace_request=int
|
|
WORKDIR /usr/local/src
|
|
RUN apk add --no-cache build-base cmake ninja python3 \
|
|
binutils-dev curl-dev elfutils-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:kcov, shellspec:[VERSION]-kcov
|
|
# ======================================================================
|
|
FROM alpine:3.12 as kcov
|
|
RUN apk add --no-cache bash binutils-dev curl-dev elfutils-libelf
|
|
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+kcov" \
|
|
org.opencontainers.image.description="Shellspec (Alpine based with Kcov)"
|
|
|
|
# ======================================================================
|
|
# Standard image (default)
|
|
# TAG: shellspec:latest, shellspec:[VERSION]
|
|
# ======================================================================
|
|
FROM alpine:3.12 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" \
|
|
org.opencontainers.image.description="Shellspec (Alpine based)"
|