Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update github.com/libgit2/git2go to v31.6.1 #222

Merged
merged 7 commits into from
Oct 8, 2021
Merged

Update github.com/libgit2/git2go to v31.6.1 #222

merged 7 commits into from
Oct 8, 2021

Commits on Oct 8, 2021

  1. Add help target to Makefile

    To help listing the available commands, using the same formatting as
    already used in `fluxcd/flux2`.
    
    Signed-off-by: Hidde Beydals <[email protected]>
    hiddeco committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    a959ee7 View commit details
    Browse the repository at this point in the history
  2. Build libgit2 using golang-with-libgit2 helper

    - Detection of the system version of `libgit2` is attempted using
      `pkg-config`. If this fails, or does not match the version as defined
      in the `Makefile` (or configured using `LIBGIT2_VER=1.x.y`), the
      library is compiled using the instructions from the `BASE_IMG`, and
      installed to `REPOSITORY_ROOT/hack/libgit2`.
    - Where `libgit2` is required as a dependency, `LD_LIBRARY_PATH` and/or
      `PKG_CONFIG_PATH` instructions are added as a prefix to the command.
      This works for system libraries as well, because the paths are
      ignored if they do not exist.
    
    Signed-off-by: Hidde Beydals <[email protected]>
    hiddeco committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    370f98e View commit details
    Browse the repository at this point in the history
  3. Update github.com/libgit2/git2go to v31.6.1

    This commit updates `github.com/libgit2/git2go` to `v31.6.1` (with
    `libgit2` `1.1.1`), and changes the container image build process so
    that it makes use of `ghcr.io/hiddeco/golang-with-libgit2`.
    
    This image provides a pre-build dynamic `libgit2` dependency linked
    against OpenSSL and LibSSH2 (without gcrypt), and a set of cross-compile
    build tools (see
    [rationale](https://github.com/hiddeco/golang-with-libgit2#rationale) and
    [usage](https://github.com/hiddeco/golang-with-libgit2#usage) for more
    detailed information).
    
    The linked set of dependency should solve most known issues around
    unsupport private key types, but does not resolve the issues with ECDSA*
    and ED25519 hostkeys yet. Solving this requires a newer version of
    `libgit2` (`>=1.2.0`), which currently does not seem to work properly
    with `git2go/v32`.
    
    Signed-off-by: Hidde Beydals <[email protected]>
    hiddeco committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    58e21f3 View commit details
    Browse the repository at this point in the history
  4. Switch to scratch based libgit2 container image

    This moves the `libgit2` compilation to the image, to ensure it
    can be build on builders that aren't backed by AMD64.
    
    The image is structured in such a way that e.g. running nightly
    builds targeting a different Go version, or targeting a different
    OS vendor would be possible in the future via build arguments.
    
    Signed-off-by: Hidde Beydals <[email protected]>
    hiddeco committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    a3e9f69 View commit details
    Browse the repository at this point in the history
  5. Update Dockerfile used in tests as well

    This ensures the Dockerfile used for testing is making use of the
    same scratch image to compile `libgit2` as the actual application
    image.
    
    In a future iteration we should restructure our GitHub Action
    workflows to re-use the application image, saving us an additional
    Dockerfile and a duplicate build. Inspiration for this (which makes
    use of a local registry for the duration of the build) can be found
    at: https://github.com/fluxcd/golang-with-libgit2/blob/main/.github/workflows/build.yaml
    
    Signed-off-by: Hidde Beydals <[email protected]>
    hiddeco committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    64ca8dc View commit details
    Browse the repository at this point in the history
  6. CONTRIBUTING: document build requirements

    Signed-off-by: Hidde Beydals <[email protected]>
    hiddeco committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    e6ef46c View commit details
    Browse the repository at this point in the history
  7. Update golang-with-libgit2 to 1.1.1-1

    This includes a tiny fix for Darwin to ensure the generated `.pc`
    file includes the right paths.
    
    Signed-off-by: Hidde Beydals <[email protected]>
    hiddeco committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    f1220d1 View commit details
    Browse the repository at this point in the history