원클릭으로
upgrade-elasticsearch
Upgrade Elasticsearch end-to-end: bump versions, check Lucene, compile, unit test, open PR, monitor CI and fix failures.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Upgrade Elasticsearch end-to-end: bump versions, check Lucene, compile, unit test, open PR, monitor CI and fix failures.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | upgrade-elasticsearch |
| description | Upgrade Elasticsearch end-to-end: bump versions, check Lucene, compile, unit test, open PR, monitor CI and fix failures. |
Upgrade Elasticsearch to the version specified by the user. If no version is specified, run gh release list --repo elastic/elasticsearch --limit 60 and pick the closest available version to the current one (i.e., the next patch or minor release — minimize the version jump). Follow these steps in order, fixing any issues before moving to the next step:
Bump versions in all six places:
ElasticsearchVersion in build.sbtdocker/Dockerfiledocs/pages/installation.mdversion file (format: X.Y.Z.0)elasticsearch pin in client-python/requirements.txt — upgrade to the latest available version whose minor version does not exceed the new ES minor version. The Python client does not publish patch releases (e.g. there is no 8.18.6), so check available versions first: pip index versions elasticsearch or check PyPI.Elastic4sVersion in build.sbt — upgrade to the latest available nl.gn0s1s:elastic4s-client-esjava version whose minor version does not exceed the new ES minor version. Check available versions on Maven Central: curl -s "https://repo1.maven.org/maven2/nl/gn0s1s/elastic4s-client-esjava_3/maven-metadata.xml" | grep '<version>'Check if LuceneVersion needs updating. ES ships with a bundled Lucene. If it changed, the old pinned version will show as "evicted" in the dependency tree:
sbt -client "elastiknn-plugin/dependencyTree" | grep lucene
If evicted, bump LuceneVersion in build.sbt to match.
Verify compilation: task jvmCompile. This compiles all modules including integration test sources (compile; Test/compile). Fix any issues before proceeding.
Verify unit tests: task jvmUnitTest. Fix any failures before proceeding.
Once all steps pass, open a PR with the title Dependencies: upgrade Elasticsearch to <new version> (e.g. Dependencies: upgrade Elasticsearch to 8.18.5).
Monitor CI and fix failures. After the PR is open, poll GitHub Actions until CI completes or a job fails:
# Get the latest run ID for the PR branch
gh run list --branch <branch-name> --limit 5
# Watch a specific run (blocks until done, then prints summary)
gh run watch <run-id>
# If a job failed, get the logs
gh run view <run-id> --log-failed
For each failed job:
Do not close or abandon the PR — iterate until CI is green.