Running all CI tests at pull requests for some files is sub-optimal,
when a PR contain changes to a single file not checked by the tests.
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
Intermittent issues are causing the test matrix to fail
and whenever that happens, all other matrix options are
automatically cancelled. This increases the amount of
retries needed in order to get all tests to pass.
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
Race detection is not working properly in our arm64 runners.
It has been tested against both M1 and linux arm64 machines
and in both cases the results were aligned with the other
platforms.
By disabling this we can ensure race detection is being
enforced on the other platforms, and we can later review
this position.
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
The environment variables set at the Makefile were causing go install to
yield a corrupted file for setup-envtest. To fix the issue, such operation
is now always executed in a clean bash.
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
Refactor logic to install helper tools into one function in the
Makefile. Add support for envtest to help install tools like kubectl,
etcd which helps users run tests more conveniently.
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
make verify is failing 'go mod tidy: go.mod file indicates go 1.16, but maximum supported version is 1.15' which indicates that the default go version on the runner is 1.15.
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
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 <hello@hidde.co>
To allow building a multi-platform container image using `buildx`.
Various configuration flags allow for fine(r)-grain control over the
build process:
- `BASE_IMG`: FQDN of the base image that should be used, without a
tag.
- `BASE_TAG: tag of the base image that should be used. Allows checksum
sum to be included.
- `BUILDX_PLATFORMS`: platforms to target for the final container
image.
- `BUILDX_ARGS`: additional `docker buildx build` arguments, e.g.
`--push` to push the result to a (local) image registry.
Signed-off-by: Hidde Beydals <hello@hidde.co>
Use fluxcd/pkg/actions/envtest to setup envtest.
Since the run-test action runs in a container, the host $PATH is not
passed to the test container. The ENV directive in actions/run-tests
Dockerfile is used to append the PATH with envtest binary path. This
helps avoid redownload of the envtest binaries when it's not found in
the path via the Makefile targets.
Signed-off-by: Sunny <darkowlzz@protonmail.com>
As the `github.event.repository.name` property is not always available,
for example when the action gets triggered by a cron job.
Signed-off-by: Hidde Beydals <hello@hidde.co>
This commit bundles the `source-controller:$VER-arm64` ARM image tag
range that was previously released separately with the
`source-controller:$VER` image, as GitHub now provides us insights into
image layer statistics.
Signed-off-by: Hidde Beydals <hello@hidde.co>