elasticsearch/.buildkite
Mark Vieira 30e418f653
[ci] Add Alma Linux 9 to matrix in packaging and platform jobs (#118331) (#119315)
SmbTestContainer base image upgraded from Ubuntu 16.04 to 24.04 to avoid
 hanging Python module compilation when installing samba package.
 Installing SMB had to be moved from container building to starting because
 SYS_ADMIN capability is required.

(cherry picked from commit a0f64d2c9d)

# Conflicts:
#	.buildkite/pipelines/pull-request/packaging-tests-unix.yml

Co-authored-by: Mariusz Józala <377355+jozala@users.noreply.github.com>
2024-12-28 04:39:13 +11:00
..
hooks [CI] Pull in the latest mutes from base branch for PRs at runtime (#117587) (#117661) 2024-11-27 16:56:35 -05:00
pipelines [ci] Add Alma Linux 9 to matrix in packaging and platform jobs (#118331) (#119315) 2024-12-28 04:39:13 +11:00
scripts [CI] Automatically apply spotless changes in pull request CI (#118701) (#118711) 2024-12-16 11:31:05 -05:00
.editorconfig [buildkite] Migrate pull-request pipelines from Jenkins (#99449) 2023-09-29 14:00:12 -04:00
.gitignore [buildkite] Migrate pull-request pipelines from Jenkins (#99449) 2023-09-29 14:00:12 -04:00
bun.lockb [buildkite] Migrate pull-request pipelines from Jenkins (#99449) 2023-09-29 14:00:12 -04:00
check-es-serverless.yml Update check-es-serverless.yml 2024-09-04 15:37:32 -04:00
package.json [ci] Add/update docs for .buildkite dir and PR pipeline generator (#103936) 2024-01-04 16:04:41 -05:00
packer_cache.sh [ci] Add Buildkite packer cache script (#103410) 2023-12-13 17:40:18 -05:00
pull-requests.json Revert pipeline change 2024-09-04 15:20:50 -04:00
README.md [ci] Add/update docs for .buildkite dir and PR pipeline generator (#103936) 2024-01-04 16:04:41 -05:00
tsconfig.json [buildkite] Migrate pull-request pipelines from Jenkins (#99449) 2023-09-29 14:00:12 -04:00
update-es-serverless.yml Use last good commit when updating serverless submodule 2023-10-09 13:44:11 -07:00

Elasticsearch CI Pipelines

This directory contains pipeline definitions and scripts for running Elasticsearch CI on Buildkite.

Directory Structure

Pipeline Definitions

Pipelines are defined using YAML files residing in pipelines. These are mostly static definitions that are used as-is, but there are a few dynamically-generated exceptions (see below).

Dynamically Generated Pipelines

Pull request pipelines are generated dynamically based on labels, files changed, and other properties of pull requests.

Non-pull request pipelines that include BWC version matrices must also be generated whenever the list of BWC versions is updated.

Pull Request Pipelines

Pull request pipelines are generated dynamically at CI time based on numerous properties of the pull request. See scripts/pull-request for details.

BWC Version Matrices

For pipelines that include BWC version matrices, you will see one or more template files (e.g. periodic.template.yml) and a corresponding generated file (e.g. periodic.yml). The generated file is the one that is actually used by Buildkite.

These files are updated by running:

./gradlew updateCIBwcVersions

This also runs automatically during release procedures.

You should always make changes to the template files, and run the above command to update the generated files.

Node / TypeScript

Node (technically bun), TypeScript, and related files are currently used to generate pipelines for pull request CI. See scripts/pull-request for details.