This repository contains:
-
A CI Infrastructure to provision VMs where the tests will be executed at CI time.
-
A Go library to provision services in the way of Docker containers. It will provide the services using Docker Compose files.
-
A test framework to execute e2e tests for certain Observability projects:
- Observability Helm charts:
- APM Server
- Filebeat
- Metricbeat
- Kubernetes Autodiscover
- Fleet
- Stand-Alone mode
- Fleet mode
- and more!
- Observability Helm charts:
If you want to start writing E2E tests, please jump to our quickstart guide here.
This project utilizes goreleaser
to build the cli binaries for all supported
platforms. Please see goreleaser installation
for instructions on making that available to you.
Once goreleaser
is installed building the cli is as follows:
$ make build
This will put the built distribution inside of dist
in the current working directory.
This project uses pre-commit so, after installing it, please install the already configured pre-commit hooks we support, to enable pre-commit in your local git repository:
$ pre-commit install
pre-commit installed at .git/hooks/pre-commit
To understand more about the hooks we use, please take a look at pre-commit's configuration file.
This project requires backports to the existing active branches. Those branches are defined in the .backportrc.json
and .mergify.yml
files. In order to do so,
there are two different approaches:
This is the preferred approach. Backports are created automatically as long as the rules defined in .mergify.yml are fulfilled. From the user's point of view it's required only to attach a labels to the pull request that should be backported, and once it gets merged the automation happens under the hood.
This is the traditional approach where the backports are created by the author who created the original pull request. For such, it's required to install backport and run the command in your terminal
$ backport --label <YOUR_LABELS> --auto-assign --pr <YOUR_PR>