Merge pull request #228 from fluxcd/libgit2-from-src

This commit is contained in:
Hidde Beydals 2020-12-09 17:16:10 +01:00 committed by GitHub
commit 010893bb91
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 3 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-r1
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community libgit2-dev~=1.1.0
# 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

@ -43,6 +43,25 @@ brew install libgit2
pacman -S libgit2
```
**Building from source**
1. Ensure [`cmake`](https://cmake.org) is available on your system.
1. Download and unarchive [the right `libgit2` version](https://github.com/libgit2/git2go#which-go-version-to-use)
for our current `git2go` dependency:
```console
$ LIBGIT2_VER=1.1.0
$ curl -L https://github.com/libgit2/libgit2/releases/download/v$LIBGIT2_VER/libgit2-$LIBGIT2_VER.tar.gz -o /tmp/libgit2.tar.gz
$ tar -xvf /tmp/libgit2.tar.gz -C /tmp/libgit2-$LIBGIT2_VER
```
1. Build and install the library on your system:
```console
$ mkdir /tmp/libgit2-$LIBGIT2_VER/build && cd /tmp/libgit2-$LIBGIT2_VER/build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
$ sudo cmake --build . --target install
```
### How to run the test suite
You can run the unit tests by simply doing

View File

@ -2,7 +2,7 @@
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-r1
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community libgit2-dev~=1.1.0
WORKDIR /workspace
@ -31,7 +31,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=1.1.0-r1
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community libgit2-dev~=1.1.0
COPY --from=builder /workspace/source-controller /usr/local/bin/