Skip to content
Snippets Groups Projects
Verified Commit 60070136 authored by Sheogorath's avatar Sheogorath :european_castle:
Browse files

feat(cowsay): Add distroless cowsay image

parent 0ef7dded
No related branches found
No related tags found
No related merge requests found
Pipeline #18599 passed
......@@ -14,6 +14,7 @@ container-build:
- query-exposer
- findmydevice-server
- opentf
- cowsay
script:
- cd images/${IMAGE}
- |
......
release=3.7.0
\ No newline at end of file
VERSION 0.7
build-base:
FROM docker.io/library/debian:12.2
RUN apt-get update
RUN apt-get install -y \
build-essential \
perl-base \
perl-tk \
libperl-dev \
libpar-perl
RUN cpan PAR::Packer
SAVE ARTIFACT /lib/x86_64-linux-gnu/libcrypt.so.1 ./lib/libcrypt.so.1
SAVE ARTIFACT /lib/x86_64-linux-gnu/libz.so.1 ./lib/libz.so.1
distroless-perl:
FROM ../mirror+distroless-base
WORKDIR /lib/x86_64-linux-gnu
COPY +build-base/lib/libcrypt.so.1 ./libcrypt.so.1
COPY +build-base/lib/libz.so.1 ./libz.so.1
WORKDIR /
src:
FROM +build-base
# renovate: datasource=github-releases depName=cowsay-org/cowsay
ARG COWSAY_VERSION=v3.7.0
GIT CLONE --branch ${COWSAY_VERSION} https://github.com/cowsay-org/cowsay.git ./cowsay
#RUN git apply static.patch
COPY ./static.patch static.patch
RUN patch -u ./cowsay/cowsay -i static.patch
SAVE ARTIFACT ./cowsay ./cowsay
build:
FROM +build-base
COPY +src/cowsay /src
WORKDIR /src
RUN make install
WORKDIR /
RUN pp -x --xargs="Building!" -a "/usr/local/share/cowsay/cows;script/share/cows" --output=cowsay.bin "/usr/local/bin/cowsay"
RUN ./cowsay.bin "Great Success!"
SAVE ARTIFACT /cowsay.bin ./cowsay
container-internal:
FROM +distroless-perl
COPY +build/cowsay /cowsay
WORKDIR /workdir
ENTRYPOINT [ "/cowsay" ]
container:
FROM ../mirror+golang
ARG registry=quay.io/shivering-isles/cowsay
COPY .release ./
ARG tag=$(awk -F'=' '$1 == "release" {print $2}' .release)
ARG latest=false
IF [ $latest = "true" ]
FROM +container-internal --branch=v$(awk -F'=' '$1 == "release" {print $2}' .release)
SAVE IMAGE --push ${registry}:latest
ELSE
FROM +container-internal --branch=v$(awk -F'=' '$1 == "release" {print $2}' .release)
LABEL "quay.expires-after"="12w"
END
SAVE IMAGE --push ${registry}:${tag}
\ No newline at end of file
diff --git a/cowsay b/cowsay
index 3f75c5c..2c7aeaa 100755
--- a/cowsay
+++ b/cowsay
@@ -87,6 +87,13 @@ sub pick_cowpath {
$prefix_dir = dirname($parent_dir);
$share_cowsay = "$prefix_dir/share/cowsay";
$real_prefix_dir = $prefix_dir;
+ } elsif (defined $ENV{PAR_TEMP}) {
+ # We're running as static compiled cowsay using pp
+ $prefix_dir = "$ENV{PAR_TEMP}/inc/$parent_dir";
+ $share_cowsay = "$prefix_dir/share";
+ # Default to default installation location, so in-repo cowsay can still see the
+ # system cowpath.d directory.
+ $real_prefix_dir = "/usr/local";
} else {
# We're running from the source repo
$prefix_dir = $parent_dir;
......@@ -7,6 +7,9 @@ MIRROR:
DO ../.utils/+LABEL --image=mirror --version=main
SAVE IMAGE --cache-hint
distroless-base:
DO +MIRROR --image=gcr.io/distroless/base-debian12:nonroot@sha256:5a779e9c2635dbea68ae7988f398f95686ccde186cd2abf51207e41ed2ec51f4
distroless-static-debug:
DO +MIRROR --image=gcr.io/distroless/static:debug-nonroot@sha256:cdb2034c38b2f2bd0a99f08191a44831a04220c81aab97b2397d2ecf1082db5f
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment