Commit Graph

77 Commits

Author SHA1 Message Date
Hidde Beydals 9fd16d8e45 Switch to scratch based libgit2 container image
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>
2021-10-08 09:38:20 +02:00
Hidde Beydals 7a212b6570 Add `docker-buildx` target to `Makefile`
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>
2021-09-30 16:37:05 +02:00
Sunny cb3fb3bb4e
workflows/e2e: Use fluxcd/pkg/actions/envtest
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>
2021-08-01 21:07:27 +05:30
Stefan Prodan 25a2428b80
Print pods status on e2e failures
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-29 16:40:15 +03:00
Stefan Prodan 2819924c78
Add e2e tests for large Git repositories
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-02 12:45:38 +03:00
Aurel Canciu 27420c0454
Use golang image to run tests step
Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
2020-11-27 15:00:54 +02:00
Stefan Prodan be818469ea
Print controller logs in CI
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-11-12 17:02:40 +02:00
Stefan Prodan ef5749105d
Update engineerd/setup-kind to v0.5.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-11-12 12:07:35 +02:00
Aurel Canciu ad995d80cc
Reorganize helm chart testdata for controllers
Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
2020-10-28 14:57:12 +02:00
Hidde Beydals 335a091f60 Use GitHub actions from fluxcd/pkg@main
As `master` was replaced with `main`.
2020-10-06 10:37:15 +02:00
Hidde Beydals f7ceac644d e2e: use podinfo chart for valuesfile tests 2020-10-06 10:37:15 +02:00
stefanprodan f81b479382 Set default branch to main
Signed-off-by: stefanprodan <stefan.prodan@gmail.com>
2020-10-05 15:42:37 +03:00
stefanprodan f16e5f041a Promote API to v1beta1 2020-09-30 16:11:00 +03:00
Hidde Beydals ac84c70a4c ci: pin Minio to v6.3.1
Due to corrupt v7.0.0 chart release.
2020-09-22 12:27:46 +02:00
Hidde Beydals 1798b200c9 e2e: test HelmChart from Bucket 2020-09-21 12:40:15 +02:00
stefanprodan 7abb7ccf60 Add Bucket e2e tests 2020-09-18 16:11:24 +03:00
Hidde Beydals eaec41f6e9 e2e: test HelmChart ValuesFile 2020-09-11 13:33:08 +02:00
Michael Bridgen 44fc115a3a Remove local actions and use those from fluxcd/pkg 2020-07-24 12:20:08 +01:00
stefanprodan 7e2fe14efa Upgrade CRDs to apiextensions.k8s.io/v1 2020-07-20 12:21:34 +03:00
stefanprodan d27cc96233 Reconcile sources in the runtime namespace only 2020-05-03 13:04:00 +03:00
stefanprodan 71272ef7d9 ci: use go 1.14 2020-04-13 20:40:36 +03:00
stefanprodan 3bd15423e4 ci: Check if working tree is dirty
- run unit tests in a dedicated CI step
- check if working tree is dirty and fail CI build
2020-04-13 20:23:58 +03:00
Hidde Beydals d378bd1852 Introduce HelmChart API and controller
- Add the HelmChart types and controller
- Semver expressions are found by utilizing Helm repository index
  helpers. As Helm makes use of `masterminds/semver`, the support
  for i.e. ranges less mature than the `GitRepository` implementation.
- Recorded semver is as defined in the metadata of the chart. The
  used name for the artifact does however include the checksum of the
  chart archive, as chart maintainers may not always properly apply
  semver.
- Switches to `sigs.k8s.io/yaml` for YAML operations as this among
  other things is able to properly unmarshal embedded structures.
- Directly requeues on transient errors instead of using the defined
  interval as a back-off strategy is applied on repeated failures.
2020-04-12 18:44:37 +02:00
Hidde Beydals 4d30a82ef4 Rename project to source-controller 2020-04-08 16:12:17 +03:00
stefanprodan d4b9e17800 Move dev deploy script to Makefile 2020-04-08 15:14:32 +03:00
stefanprodan 065825c12d Add smoke tests to CI 2020-04-08 14:26:07 +03:00
stefanprodan 86c2c9f745 Implement CI with GitHub Actions 2020-04-08 14:17:06 +03:00