Tweak `musl` and `libgit2{-dev}` dependencies

* Use semver tidles to deal with future patch releases
* Install just `libgit2` in runtime container
* Add TODO / explanation for `musl` `1.2.x` dependency

Signed-off-by: Hidde Beydals <hello@hidde.co>
This commit is contained in:
Hidde Beydals 2020-12-09 23:52:20 +01:00 committed by Philip Laine
parent 7945f95180
commit 3feda81109
2 changed files with 7 additions and 4 deletions

View File

@ -2,7 +2,7 @@ FROM golang:1.15-alpine
# Add any build or testing essential system packages
RUN apk add --no-cache build-base git pkgconf
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community libgit2-dev~=1.1.0
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community libgit2-dev~=1.1
# Use the GitHub Actions uid:gid combination for proper fs permissions
RUN addgroup -g 116 -S test && adduser -u 1001 -S -g test test

View File

@ -2,8 +2,11 @@
FROM golang:1.15-alpine as builder
RUN apk add gcc pkgconfig libc-dev
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community libgit2-dev~=1.1.0
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/main musl=1.2.2_pre5-r0
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community libgit2-dev~=1.1
# TODO: replace with non-edge musl 1.2.x when made available
# musl 1.2.x is a strict requirement of libgit2 due to time_t changes
# ref: https://musl.libc.org/time64.html
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/main musl~=1.2
WORKDIR /workspace
@ -32,7 +35,7 @@ FROM alpine:3.12
LABEL org.opencontainers.image.source="https://github.com/fluxcd/source-controller"
RUN apk add --no-cache ca-certificates tini
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community libgit2-dev~=1.1.0
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community libgit2~=1.1
COPY --from=builder /workspace/source-controller /usr/local/bin/