1. 23 Aug, 2021 1 commit
  2. 09 Aug, 2021 1 commit
    • ci: remove the docker entrypoint · b140e22e
      Omitting an entrypoint.sh to configure the container and instead
      depending on docker primitives allows us to be more portable.  (If a
      distribution uses a different mechanism for adding users, we need not
      have multiple entrypoint.sh files or invariants within it; instead we
      can configure that in the dockerfile itself along with all the other
      distribution specific components.)
      Edward Thomson committed
  3. 23 Nov, 2020 2 commits
  4. 18 Nov, 2020 1 commit
  5. 11 Jun, 2020 1 commit
  6. 06 Jun, 2020 3 commits
  7. 17 Mar, 2020 1 commit
  8. 13 Mar, 2020 2 commits
  9. 02 Mar, 2020 1 commit
  10. 18 Feb, 2020 2 commits
  11. 07 Feb, 2020 1 commit
    • azure: docker: pipe downloaded archives into tar(1) directly · a3ec07d7
      When building dependencies for our Docker images, we first download the
      sources to disk first, unpack them and finally remove the archive again.
      This can be sped up by piping the downloading archive into tar(1)
      directly to parallelize both tasks. Furthermore, let's silence curl(1)
      to not print to status information to stderr, which tends to be
      interpreted as errors by Azure Pipelines.
      Patrick Steinhardt committed
  12. 21 Sep, 2019 1 commit
    • azure: avoid building and testing in Docker as root · 3c884cc3
      Right now, all tests in libgit2's CI are being executed as root
      user. As libgit2 will usually not run as a root user in "normal"
      usecases and furthermore as there are tests that rely on the
      ability to _not_ be able to create certain paths, let's instead
      create an unprivileged user "libgit2" and use that across all
      docker images.
      Patrick Steinhardt committed
  13. 13 Sep, 2019 5 commits
    • azure: convert to use Ninja as build tool · 48d23a8c
      While we were still supporting Trusty, using Ninja as a build tool would
      have required us to first setup pip and then use it to install Ninja.
      As a result, the speedups from using Ninja were drowned out by the
      time required to install Ninja. But as we have deprecated Trusty now,
      both Xenial and Bionic have recent versions of Ninja in their
      repositories and thus we can now use Ninja.
      Patrick Steinhardt committed
    • docker: use "--no-install-recommends" to reduce build time · 3c59d451
      Pass the flag "--no-install-recommends" to apt-get in order to trim down
      the number of packages installed, both reducing build time and image
      size. As this also causes some required packages to not be installed
      anymore, add these explicitly to the set of packages installed.
      Patrick Steinhardt committed
    • docker: convert apt-get to use best practices · 39b7e8b0
      Reformat both Xenial and Bionic's Dockerfiles to use best practices.
      Most importantly, we now run `apt-get update` and `apt-get install` in
      one step followed up by removing the package lists to speed up
      installation and keep down the image size.
      Patrick Steinhardt committed
    • docker: install mbedTLS on both Bionic and Xenial · 253dbea2
      We're about to phase out support for Trusty, but neither Bionic nor
      Xenial images provide the mbedTLS library that's available in Trusty.
      Build them for both to pull them in line with Trusty.
      Patrick Steinhardt committed
    • azure: build Docker images as part of the pipeline · 5a6740e7
      The Docker images used for our continuous integration builds currently
      live in the libgit2/libgit2-docker repository. To make any changes in
      them, one has to make a PR there, get it reviewed, re-build the images
      and publish them to Docker Hub. This process is slow and tedious, making
      it harder than necessary to perform any updates to our Docker-based
      build pipeline.
      
      To fix this, we include all Dockerfiles used by Azure from the mentioned
      repository and inline them into our own repo. Instead of having to
      manually push them to the CI, it will now build the required containers
      on each pull request, allowing much greater flexibility.
      Patrick Steinhardt committed