Note: Please take a look at https://fluxcd.io/docs/contributing/flux/ to find out about how to contribute to Flux and how to interact with the Flux Development team.
The dependency libgit2 needs to be installed to be able to run source-controller or its test-suite locally (not in a container).
In case this dependency is not present on your system (at the expected
version), the first invocation of a make
target that requires the
dependency will attempt to compile it locally to hack/libgit2
. For this build
to succeed; CMake, Docker, OpenSSL 1.1 and LibSSH2 must be present on the system.
Triggering a manual build of the dependency is possible as well by running
make libgit2
. To enforce the build, for example if your system dependencies
match but are not linked in a compatible way, append LIBGIT2_FORCE=1
to the
make
command.
$ # Ensure libgit2 dependencies are available
$ brew install cmake [email protected] libssh2 pkg-config
$ LIBGIT2_FORCE=1 make libgit2
$ # Ensure libgit2 dependencies are available
$ pacman -S cmake openssl libssh2
$ LIBGIT2_FORCE=1 make libgit2
Note: Example shown is for Arch Linux, but likewise procedure can be
followed using any other package manager, e.g. apt
.
You can run the unit tests by simply doing
make test