Skip to content

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

Merged
TamerlanG merged 4 commits into
elastic:9.3from
TamerlanG:backport/9.3/pr-262224
May 8, 2026
Merged

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

Conversation

@TamerlanG
Copy link
Copy Markdown
Contributor

Backport

This will backport the following commits from main to 9.3:

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-version-bump.yml
#	.buildkite/pipelines/version_bump.yml
@TamerlanG TamerlanG requested a review from kibanamachine as a code owner May 6, 2026 18:01
@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:01
@TamerlanG
Copy link
Copy Markdown
Contributor Author

/ci

@kibanamachine
Copy link
Copy Markdown
Contributor

💚 Build Succeeded

Metrics [docs]

✅ unchanged

History

@delanni
Copy link
Copy Markdown
Member

delanni commented May 8, 2026

run docs-build

@TamerlanG TamerlanG merged commit 5eee3fc into elastic:9.3 May 8, 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