Skip to content

[8.19] Implement automated version bump pipeline for patch and minor releases (#262224)#268039

Merged
TamerlanG merged 3 commits into
elastic:8.19from
TamerlanG:backport/8.19/pr-262224
May 7, 2026
Merged

[8.19] Implement automated version bump pipeline for patch and minor releases (#262224)#268039
TamerlanG merged 3 commits into
elastic:8.19from
TamerlanG:backport/8.19/pr-262224

Conversation

@TamerlanG
Copy link
Copy Markdown
Contributor

Backport

This will backport the following commits from main to 8.19:

Questions ?

Please refer to the Backport tool documentation

elastic#262224)

## Summary
Implements a fully automated Buildkite pipeline for Kibana version
bumps, supporting both **patch** and **minor** release workflows. The
steps are based on the [release
document](https://docs.elastic.dev/kibana-team/release) and talks with
@mistic.

## What this does

### Pipeline orchestration (`pipeline.ts`)
A dynamic pipeline generator that emits different step sequences
depending on the `WORKFLOW` env var:

**Patch workflow:**

1. Trigger ES build and promote
2. Bump `package.json` versions + `versions.json` on the release branch
3. Trigger DRA snapshot (+ staging if not `main`)
4. Update version label color + reconcile PR labels

**Minor workflow:**
1. Trigger ES build and promote
2. Bump `package.json` versions + `versions.json` on `main`
3. Trigger DRA snapshot (+ staging if not `main`)
4. Do changes in the new branch
5. Notify `#mission-control` that Kibana has been branched (version bump
still pending)
6. Update release branch config + pipeline resource definitions
8. Create new release branch off `main`
9. Ensure version label exists + reconcile PR labels

### New scripts
| Script | Purpose |
|--------|---------|
| `bump.sh` | Entry point that generates and uploads the dynamic
pipeline |
| `bump_package_json_versions.sh` | Bumps `package.json` and other files
on the release branches |
| `bump_versions_json.sh` | Updates `versions.json` and `backportrc` for
patch/minor/major releases |
| `create_new_branch_of_main.sh` | Creates and pushes a new release
branch from `main` |
| `update_release_branch.sh` | Updates config files on the new release
branch |
| `update_pipeline_resource_definitions.sh` | Updates the Buildkite
pipeline resource definitions in main |
| `ensure_version_label.sh` | Creates the GitHub version label if it
doesn't exist |
| `update_label_color.sh` | Updates the version label color to mark it
as current |
| `reconcile_pr_labels.sh` | Reconciles version labels on open PRs |
| `notify_branch_created.sh` | Sends a Slack notification to
`#mission-control` when a branch is created |
| `wait_for_pr_merge.sh` | Utility to poll until an auto-merge PR is
merged |

### Pipeline resource definition
Adds `kibana-version-bump` Buildkite pipeline resource definition with
appropriate team access controls.

### Auto-approve workflow
Adds the version bump pipeline to the list of workflows eligible for
automatic approval of machine-generated PRs

### ES Build
Added step to add ES_SNAPSHOT as metadata to triggered parents job. Got
it from:
https://forum.buildkite.community/t/how-to-download-artifacts-back-from-triggered-pipeline/3480

Relates to elastic/kibana-operations#486

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Alex Szabo <alex.szabo@elastic.co>
(cherry picked from commit 1e77af4)

# Conflicts:
#	.buildkite/pipeline-resource-definitions/kibana-pointer-compression.yml
#	.buildkite/pipelines/version_bump.yml
@TamerlanG TamerlanG requested a review from kibanamachine as a code owner May 6, 2026 18:11
@TamerlanG TamerlanG added the backport This PR is a backport of another PR label May 6, 2026
@TamerlanG TamerlanG enabled auto-merge (squash) May 6, 2026 18:11
@kibanamachine
Copy link
Copy Markdown
Contributor

kibanamachine commented May 6, 2026

💛 Build succeeded, but was flaky

Failed CI Steps

Metrics [docs]

‼️ ERROR: no builds found for mergeBase sha [f1051c6]

History

@TamerlanG TamerlanG merged commit afffb45 into elastic:8.19 May 7, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a backport of another PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants