act/.github/actions/choco/Dockerfile
2021-02-03 11:12:15 -08:00

36 lines
1.3 KiB
Docker

# choco supports only Mono 5.20.x
# https://github.com/chocolatey/choco#prerequisites
FROM mono:5.20 as builder
# 0.10.15 with newer Mono is failing as it's dependent on Mono Profile 4.0 which has been deprecated
# http://www.mono-project.com/docs/about-mono/releases/4.0.0/#dropped-support-for-old-frameworks
# Alternative to consider, use git repository and reset to specific tag/hash
ARG CHOCOVERSION=0.10.16-beta
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y wget tar gzip
WORKDIR /usr/local/src
RUN wget "https://github.com/chocolatey/choco/archive/${CHOCOVERSION}.tar.gz"
RUN tar -xzf "${CHOCOVERSION}.tar.gz"
RUN mv "choco-${CHOCOVERSION}" choco
WORKDIR /usr/local/src/choco
RUN chmod +x build.sh zip.sh
RUN ./build.sh -v
FROM alpine:latest
COPY --from=builder /usr/local/src/choco/build_output/chocolatey /opt/chocolatey
RUN apk add --no-cache bash
RUN apk --update --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing add mono-dev \
&& apk --update --no-cache add -t build-dependencies ca-certificates \
&& cert-sync /etc/ssl/certs/ca-certificates.crt \
&& ln -sf /opt /opt/chocolatey/opt \
&& mkdir -p /opt/chocolatey/lib \
&& apk del build-dependencies \
&& rm -rf /var/cache/apk/*
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]