Skip to content

Files

Latest commit

 

History

History

workflows

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CI/CD

There are 3 main stages that run on GitHub actions for every push or Pull Request:

  • Linting
  • Test
  • System tests

There are some other stages that run for every push on the main branches:

Scenarios

  • Tests should be triggered on branch, tag and PR basis.
  • Commits that are only affecting the docs files should not trigger any test or similar stages that are not required.
  • This is not the case yet, but if Github secrets are required then Pull Requests from forked repositories won't run any build accessing those secrets. If needed, then create a feature branch.

How to interact with the CI?

On a PR basis

Once a PR has been opened then there are two different ways you can trigger builds in the CI:

  1. Commit based.
  2. UI based, any Elasticians can force a build through the GitHub UI

Branches

Every time there is a merge to main or any release branches the main workflow will lint and test all for Linux, Windows and MacOS.

Package

The packaging and release automation relies on the Unified Release process and Buildkite for generating the DRA packages, for further details please go to the buildkite folder.

OpenTelemetry

There is a GitHub workflow in charge to populate what the workflow run in terms of jobs and steps. Those details can be seen in here (NOTE: only available for Elasticians).

Smoke tests

Smoke tests are triggered based on a specific scheduler, see smoke-tests-ess and smoke-tests-os for further details.

Bump automation

updatecli is the tool we use to automatically bump some of the dependencies related to the Elastic Stack versions used for the different tests, the elastic/Beats.git specific version used by the APM Server or the Golang bump automation.