Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 1.42 KB

DEVELOPMENT.md

File metadata and controls

47 lines (34 loc) · 1.42 KB

Development

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.

Installing required dependencies

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.

macOS

$ # Ensure libgit2 dependencies are available
$ brew install cmake openssl@1.1 libssh2 pkg-config
$ LIBGIT2_FORCE=1 make libgit2

Linux

$ # 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.

How to run the test suite

You can run the unit tests by simply doing

make test