Skip to content

Increment version to 3.5.0#20276

Merged
cwperks merged 6 commits intoopensearch-project:mainfrom
cwperks:increment-3.5
Dec 19, 2025
Merged

Increment version to 3.5.0#20276
cwperks merged 6 commits intoopensearch-project:mainfrom
cwperks:increment-3.5

Conversation

@cwperks
Copy link
Member

@cwperks cwperks commented Dec 17, 2025

Description

Increment version to 3.5.0 following 3.4.0 release

Check List

  • Functionality includes testing.
  • API changes companion pull request created, if applicable.
  • Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Summary by CodeRabbit

  • Chores
    • Bumped project baseline and runtime/current version from 3.4.0 to 3.5.0 across build configs and version catalog.
    • Extended backward-compatibility list to include 3.4.0.
    • Adjusted distribution build ordering so archive packaging depends on corresponding base build tasks.
    • Added a CI cleanup step on Linux to remove unnecessary files before tooling setup.

✏️ Tip: You can customize this high-level summary in your review settings.

Signed-off-by: Craig Perkins <cwperx@amazon.com>
@cwperks cwperks requested a review from a team as a code owner December 17, 2025 16:38
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 17, 2025

Walkthrough

Bumps OpenSearch from 3.4.0 to 3.5.0 in build metadata and code, adds "3.4.0" to the BWC list, introduces V_3_5_0 and sets CURRENT to it in Version.java, makes Tar tasks depend on their base stage tasks, and adds a Linux cleanup step to the assemble CI workflow.

Changes

Cohort / File(s) Summary
BWC versions
\.ci/bwcVersions
Adds new entry "3.4.0" to the backward-compatibility versions list.
Build version metadata
buildSrc/version.properties, gradle/libs.versions.toml
Bumps opensearch version from 3.4.0 to 3.5.0 in the version properties and version catalog.
Java Version constants
libs/core/src/main/java/org/opensearch/Version.java
Adds public static final Version V_3_5_0 (id 3050099, Lucene LUCENE_10_3_2) and updates CURRENT to reference V_3_5_0.
Distribution archives build
distribution/archives/build.gradle
Adds logic so Tar-related tasks (build.*Tar) depend on their corresponding base stage task (task name with Tar removed) when that stage exists.
CI workflow
.github/workflows/assemble.yml
Adds a Linux-only step "Remove unnecessary files Linux" to delete /usr/share/dotnet and the AGENT_TOOLSDIRECTORY directory before JDK setup.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Pay attention to libs/core/src/main/java/org/opensearch/Version.java for ID correctness and any serialization/version-switch impacts.
  • Confirm version consistency across buildSrc/version.properties and gradle/libs.versions.toml.
  • Verify distribution/archives/build.gradle dependency changes don't introduce ordering cycles or skip required tasks.
  • Check CI change in .github/workflows/assemble.yml for runner-specific path correctness.

Suggested reviewers

  • jed326
  • msfroh
  • andrross

Poem

🐰 I hopped through versions, tail a tiny puff,
3.4 tucked back, 3.5 bold and buff.
New constant gleams, build tasks align,
CI swept clean — the pipeline's fine.
Carrots crunch; the release looks snuff. 🥕

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Increment version to 3.5.0' clearly and directly describes the main change: updating the project version from 3.4.0 to 3.5.0, which is evident in all modified files.
Description check ✅ Passed The description provides the purpose ('Increment version to 3.5.0 following 3.4.0 release'), includes the checklist from the template, and confirms Apache 2.0 license compliance, though the 'Related Issues' section is missing.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 96ccf43 and ff9d80d.

📒 Files selected for processing (1)
  • .github/workflows/assemble.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (20)
  • GitHub Check: gradle-check
  • GitHub Check: assemble (25, ubuntu-24.04-arm)
  • GitHub Check: assemble (21, ubuntu-latest)
  • GitHub Check: assemble (25, windows-latest)
  • GitHub Check: assemble (21, windows-latest)
  • GitHub Check: assemble (25, ubuntu-latest)
  • GitHub Check: assemble (21, ubuntu-24.04-arm)
  • GitHub Check: detect-breaking-change
  • GitHub Check: Analyze (java)
  • GitHub Check: precommit (21, macos-15)
  • GitHub Check: precommit (21, windows-2025, true)
  • GitHub Check: precommit (25, macos-15)
  • GitHub Check: precommit (21, macos-15-intel)
  • GitHub Check: precommit (21, ubuntu-latest)
  • GitHub Check: precommit (25, ubuntu-latest)
  • GitHub Check: precommit (25, macos-15-intel)
  • GitHub Check: precommit (21, windows-latest)
  • GitHub Check: precommit (25, ubuntu-24.04-arm)
  • GitHub Check: precommit (25, windows-latest)
  • GitHub Check: precommit (21, ubuntu-24.04-arm)
🔇 Additional comments (1)
.github/workflows/assemble.yml (1)

14-19: LGTM! Disk space cleanup follows best practices.

The Linux-specific cleanup step is well-implemented and follows a common pattern for freeing disk space on GitHub Actions runners. The conditional is correctly structured, and the referenced issue provides good context.

While this extends beyond a simple version bump, it's a sound operational improvement that may help prevent build failures due to disk constraints.


Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

❌ Gradle check result for 21bab3f: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@github-actions
Copy link
Contributor

❌ Gradle check result for 21bab3f: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@gaiksaya
Copy link
Member

* What went wrong:
Execution failed for task ':qa:verify-version-constants:v3.4.0#integTest'.
> Can not start node{:qa:verify-version-constants:v3.4.0-0}, missing: /var/jenkins/workspace/gradle-check/search/distribution/bwc/minor/build/bwc/checkout-3.4/distribution/archives/linux-tar/build/install

@cwperks
Copy link
Member Author

cwperks commented Dec 17, 2025

* What went wrong:
Execution failed for task ':qa:verify-version-constants:v3.4.0#integTest'.
> Can not start node{:qa:verify-version-constants:v3.4.0-0}, missing: /var/jenkins/workspace/gradle-check/search/distribution/bwc/minor/build/bwc/checkout-3.4/distribution/archives/linux-tar/build/install

Potentially related to #19856?

We solved a somewhat similar issue like #19634, but they are not exactly the same.

@cwperks
Copy link
Member Author

cwperks commented Dec 17, 2025

TIL about the bwc.remote system prop in InternalBwcGitPlugin: https://github.com/opensearch-project/OpenSearch/blob/main/buildSrc/src/main/java/org/opensearch/gradle/internal/InternalBwcGitPlugin.java#L107-L108

In order to test out a fix, I needed to make a change on my local 3.4 branch and then run:

./gradlew ':qa:verify-version-constants:v3.4.0#integTest' -Dbwc.remote=cwperks -DtestRemoteRepo="https://github.com/cwperks/OpenSearch.git" -i

Signed-off-by: Craig Perkins <cwperx@amazon.com>
@github-actions
Copy link
Contributor

❌ Gradle check result for 8de0751: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Signed-off-by: Craig Perkins <cwperx@amazon.com>
@github-actions
Copy link
Contributor

❌ Gradle check result for 55303a9: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Signed-off-by: Craig Perkins <cwperx@amazon.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
.github/workflows/assemble.yml (1)

19-24: LGTM! Disk cleanup step is a sensible addition.

The cleanup step follows a well-established pattern for freeing disk space on GitHub Actions runners, which may help address the integTest failures mentioned in the PR comments. Given that this PR adds BWC version 3.4.0 to the testing matrix, additional disk space may be needed for building and testing backward compatibility artifacts.

Optional: Simplify the conditional syntax

The ${{ }} wrapper is optional in if conditions and can be omitted for cleaner syntax:

-      if: ${{ runner.os == 'Linux' }}
+      if: runner.os == 'Linux'

Please verify whether this cleanup step resolves or mitigates the integTest failure reported by gaiksaya regarding the missing BWC build artifacts.

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 55303a9 and 96ccf43.

📒 Files selected for processing (1)
  • .github/workflows/assemble.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (14)
  • GitHub Check: gradle-check
  • GitHub Check: precommit (25, macos-15-intel)
  • GitHub Check: precommit (21, windows-2025, true)
  • GitHub Check: precommit (25, windows-latest)
  • GitHub Check: precommit (21, ubuntu-latest)
  • GitHub Check: precommit (21, windows-latest)
  • GitHub Check: precommit (25, ubuntu-24.04-arm)
  • GitHub Check: precommit (21, macos-15)
  • GitHub Check: precommit (21, ubuntu-24.04-arm)
  • GitHub Check: precommit (21, macos-15-intel)
  • GitHub Check: precommit (25, macos-15)
  • GitHub Check: precommit (25, ubuntu-latest)
  • GitHub Check: detect-breaking-change
  • GitHub Check: Analyze (java)

Signed-off-by: Craig Perkins <cwperx@amazon.com>
@github-actions
Copy link
Contributor

❌ Gradle check result for ff9d80d: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@cwperks
Copy link
Member Author

cwperks commented Dec 19, 2025

This should be unblocked now that #20281 is merged.

@github-actions
Copy link
Contributor

❌ Gradle check result for ff9d80d: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@cwperks
Copy link
Member Author

cwperks commented Dec 19, 2025

It checked out the old sha, not sure why...

> Task :distribution:bwc:minor:checkoutBwcBranch
Commit date of current: 'Thu, 18 Dec 2025 15:07:55 -0500'
Performing checkout of opensearch-project/3.4...
Checkout hash for :distribution:bwc:minor is 00336141f90b2456d7aa35e9052fd6baf7147423

@github-actions
Copy link
Contributor

❌ Gradle check result for 14e35d1: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@github-actions
Copy link
Contributor

❌ Gradle check result for 14e35d1: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@github-actions
Copy link
Contributor

❕ Gradle check result for 14e35d1: UNSTABLE

Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

@codecov
Copy link

codecov bot commented Dec 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.30%. Comparing base (930ae74) to head (14e35d1).
⚠️ Report is 10 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main   #20276      +/-   ##
============================================
+ Coverage     73.20%   73.30%   +0.10%     
- Complexity    71745    71796      +51     
============================================
  Files          5795     5795              
  Lines        328304   328299       -5     
  Branches      47283    47279       -4     
============================================
+ Hits         240334   240666     +332     
+ Misses        68663    68328     -335     
+ Partials      19307    19305       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@cwperks cwperks merged commit 01b48c3 into opensearch-project:main Dec 19, 2025
36 of 40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants