#19460·logstash

dra: automate minor release preparation via `bump-minor-logstash.yml` GitHub Action

Author: v1vCreated Aug 25, 2026Updated Sep 4, 2026
LabelsautomationreleaseDRA

Summary

Following the work done in #19280 (which wired .buildkite/version_bump_pipeline.yml to trigger bump-logstash.yml for patch releases), we now want to implement the equivalent automation for minor releases.

The release process for minor releases is currently documented in the logstash-release-checklist-minor.md template. The goal of this issue is to automate the steps up to (and including) the Week before release section — specifically the steps that involve opening pull requests — and to wire the new action into the Buildkite version bump pipeline.

Tasks

1. Create the bump-minor-logstash.yml GitHub Action

Create a new GitHub Actions workflow file at .github/workflows/bump-minor-logstash.yml that automates the PR-creation steps described in the minor release checklist up to (but not including) the Week before release section.

The action should automate the following steps:

Before feature freeze

  • Open a PR against the release branch to check and unpin any active pins in the Logstash gemspec or Gemfile if needed.
  • Open a PR to create the new release branch (e.g. 9.1) on elastic/logstash and elastic/logstash-docs. (Skip if this is the last minor version in a major.)
  • Open a PR to update versions.yml on main to the next minor (e.g. 9.0.09.1.0).
  • Open a PR to add a new bundler lock file (e.g. Gemfile.jruby-<Ruby-version>.lock.release) to the release branch:
    • Copy lock file from previous minor branch.
    • Update the lock file via ./gradlew clean installDefaultGems and ./vendor/jruby/bin/jruby -S bundle update --all --strict.

After feature freeze

  • Open a PR to update versions.yml on main to the latest minor, if applicable.

Note: Steps that are purely manual (e.g., QA testing, doc coordination, DRA monitoring, Slack notifications) should not be automated. The action should only create pull requests and stop there.

2. Wire the new action into .buildkite/version_bump_pipeline.yml

Update .buildkite/version_bump_pipeline.yml to add a new step that triggers bump-minor-logstash.yml when WORKFLOW == "minor", analogous to the existing patch step:

yaml
- label: "Bump version minor"
  if: build.env("WORKFLOW") == "minor"
  plugins:
    - elastic/vault-github-token#v0.1.0:
    - elastic/gh-cli#v0.1.1:
        version: "2.88.1"
        wait: true
        workflow-file: "bump-minor-logstash.yml"
        workflow-ref: "main"
        workflow-inputs:
          logstash-version: "${NEW_VERSION}"
          logstash-branch: "${BRANCH}"

References