runner/Dockerfile

48 lines
1.4 KiB
Docker
Raw Permalink Normal View History

2023-08-23 19:57:06 +00:00
FROM --platform=$BUILDPLATFORM tonistiigi/xx AS xx
FROM --platform=$BUILDPLATFORM docker.io/library/golang:1.21-alpine3.18 as build-env
#
# Transparently cross compile for the target platform
#
COPY --from=xx / /
ARG TARGETPLATFORM
RUN apk --no-cache add clang lld
RUN xx-apk --no-cache add gcc musl-dev
RUN xx-go --wrap
# Do not remove `git` here, it is required for getting runner version when executing `make build`
2023-08-23 19:57:06 +00:00
RUN apk add --no-cache build-base git
2023-04-30 16:13:11 +00:00
COPY . /srv
WORKDIR /srv
RUN make clean && make build
2023-04-30 16:13:11 +00:00
2023-08-23 19:57:06 +00:00
FROM docker.io/library/alpine:3.18
ARG RELEASE_VERSION
2023-08-23 19:57:06 +00:00
RUN apk add --no-cache git bash
COPY --from=build-env /srv/forgejo-runner /bin/forgejo-runner
LABEL maintainer="contact@forgejo.org" \
org.opencontainers.image.authors="Forgejo" \
org.opencontainers.image.url="https://forgejo.org" \
org.opencontainers.image.documentation="https://forgejo.org/docs/latest/admin/actions/#forgejo-runner" \
org.opencontainers.image.source="https://code.forgejo.org/forgejo/runner" \
org.opencontainers.image.version="${RELEASE_VERSION}" \
org.opencontainers.image.vendor="Forgejo" \
org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.title="Forgejo Runner" \
org.opencontainers.image.description="A runner for Forgejo Actions."
2023-08-23 19:57:06 +00:00
ENV HOME=/data
USER 1000:1000
WORKDIR /data
2023-04-30 16:13:11 +00:00
2023-08-23 19:57:06 +00:00
VOLUME ["/data"]
2023-04-30 16:13:11 +00:00
2023-08-23 19:57:06 +00:00
CMD ["/bin/forgejo-runner"]