FROM alpine AS builder
WORKDIR /build
COPY . .
RUN apk add --no-cache sbcl curl alpine-sdk
RUN { curl 'https://beta.quicklisp.org/quicklisp.lisp' \
    ; echo '(in-package #:cl-user)' \
    ; echo '(quicklisp-quickstart:install :path "/quicklisp/")' \
    ; echo '(ql-dist:install-dist "http://dist.shirakumo.org/shirakumo.txt" :prompt NIL)' \
    ; echo '(push "/build/" ql:*local-project-directories*)' \
    ; echo '(ql:quickload :staple/standalone)' \
    ; }| sbcl --disable-ldb --lose-on-corruption --disable-debugger
RUN { echo '(load "/quicklisp/setup.lisp")' \
    ; echo '(push "/build/" ql:*local-project-directories*)' \
    ; echo '(asdf:make :staple/standalone)' \
    ; }| sbcl --disable-ldb --lose-on-corruption --disable-debugger

FROM alpine/git
RUN apk -Uuv add ca-certificates
COPY --from=builder /build/staple.run /bin/
ADD .woodpecker/plugin.sh /bin/plugin.sh
RUN chmod +x /bin/plugin.sh /bin/staple.run
ENTRYPOINT /bin/plugin.sh
