In specific cases, the update mechanism may lead to no files being
changed. The changes short-circuit the process to exit early when
0 files have been modified.
go-git has been changed to return an error when an empty commit
is detected, which is used as a last resort.
When the push branch is different than the clone branch, the controller
will now download all branch references from the Git server, in order
to enable a single fetch operation.
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
Establish conventions which aligns with what is supported upstream
today, whilst expanding on documentation to ensure folks have
pointers on how to debug/check for issues going forwards.
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
- Update Go to 1.19 in CI
- Use Go 1.19 in base image
- Update Alpine to 3.16 in the final image
- Update controller-gen v0.8.0 (v0.7 fails with Go 1.19) and regenerate manifests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
The existing fuzzers were converted into the Go native format.
Based on how the code was structured on this project, the fuzzers
can be quite effective, allowing for entire E2E fuzzing in some
cases, but with very low execution cost.
The previous controller fuzzer was converted but will need
to be refactored once the controller has been rewritten.
Note that due to the libgit2 dependencies a copy of
compile_native_go_fuzzer had to be made and modified so
that we can inject libgit2 during the linking process.
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>