[3.4.0] Manifest Commit Lock with action MATCH_BUILD_MANIFEST#5862
Conversation
WalkthroughAll component refs in two OpenSearch 3.4.0 manifest files were changed from Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
manifests/3.4.0/opensearch-3.4.0.yml(12 hunks)manifests/3.4.0/opensearch-dashboards-3.4.0.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). (11)
- GitHub Check: manifest-checks (manifests/3.4.0/opensearch-3.4.0.yml)
- GitHub Check: python-tests-linux (ubuntu-24.04)
- GitHub Check: python-tests-linux (ubuntu-24.04-arm)
- GitHub Check: groovy-tests
- GitHub Check: python-tests-macos (macos-15)
- GitHub Check: python-tests-macos (macos-15-intel)
- GitHub Check: python-tests-windows (windows-2022)
- GitHub Check: groovy-tests
- GitHub Check: python-tests-macos (macos-15-intel)
- GitHub Check: python-tests-windows (windows-2022)
- GitHub Check: python-tests-macos (macos-15)
🔇 Additional comments (1)
manifests/3.4.0/opensearch-3.4.0.yml (1)
1-250: Manifest refs consistently pinned to commit hashes.All 27 component references in opensearch-3.4.0.yml have been updated from
mainto specific commit hashes. The changes follow a consistent pattern, preserve the manifest structure, dependency graph, and platform configurations.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5862 +/- ##
=======================================
Coverage 96.56% 96.56%
=======================================
Files 405 405
Lines 18554 18554
=======================================
Hits 17917 17917
Misses 637 637 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Signed-off-by: opensearch-ci <opensearch-infra@amazon.com>
53e3c1e to
d2dda6b
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
manifests/3.4.0/opensearch-3.4.0.yml(12 hunks)manifests/3.4.0/opensearch-dashboards-3.4.0.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). (12)
- GitHub Check: python-tests-linux (ubuntu-24.04-arm)
- GitHub Check: python-tests-linux (ubuntu-24.04)
- GitHub Check: python-tests-linux (ubuntu-24.04-arm)
- GitHub Check: python-tests-linux (ubuntu-24.04)
- GitHub Check: groovy-tests
- GitHub Check: python-tests-windows (windows-2022)
- GitHub Check: python-tests-macos (macos-15-intel)
- GitHub Check: python-tests-macos (macos-15)
- GitHub Check: python-tests-windows (windows-2022)
- GitHub Check: groovy-tests
- GitHub Check: python-tests-macos (macos-15)
- GitHub Check: python-tests-macos (macos-15-intel)
🔇 Additional comments (1)
manifests/3.4.0/opensearch-dashboards-3.4.0.yml (1)
21-21: ✓ Previous critical issue resolved: all dashboards pinned to3.4.The past review flagged that
functionalTestDashboardsremained onmainwhile others were pinned. This has been corrected—all 16 dashboard components are now consistently pinned to the3.4revision, matching the OpenSearch manifest structure. Verification confirms the3.4branch/tag exists across all referenced repositories.Note: These are branch/tag refs rather than immutable commit SHAs. Ensure this aligns with your release strategy.
| - name: OpenSearch | ||
| repository: https://github.com/opensearch-project/OpenSearch.git | ||
| ref: main | ||
| ref: '3.4' |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# Find other manifest files to understand the pattern
fd -e yml -e yaml manifests | head -20Repository: opensearch-project/opensearch-build
Length of output: 61
🏁 Script executed:
# Look for prior version manifests to compare pinning strategy
fd -e yml manifests | sortRepository: opensearch-project/opensearch-build
Length of output: 61
🏁 Script executed:
# Check for documentation about manifest pinning strategy
fd -i readme -o -i manifest -o -i release | head -20Repository: opensearch-project/opensearch-build
Length of output: 195
🏁 Script executed:
# Examine a previous version manifest to see if branch refs or commit SHAs were used
git ls-files manifests/ | grep -E '\.yml|\.yaml' | head -10Repository: opensearch-project/opensearch-build
Length of output: 537
🏁 Script executed:
# Read a prior version manifest to compare the pinning strategy
cat manifests/2.19.0/opensearch-2.19.0.yml | head -50Repository: opensearch-project/opensearch-build
Length of output: 1447
🏁 Script executed:
# Read the 3.4.0 manifest to show full context
cat manifests/3.4.0/opensearch-3.4.0.yml | head -50Repository: opensearch-project/opensearch-build
Length of output: 1576
🏁 Script executed:
# Search for any documentation about manifest strategy
find . -name "README*" -o -name "MANIFEST*" | xargs cat 2>/dev/null | grep -i "ref\|branch\|commit\|lock" | head -20Repository: opensearch-project/opensearch-build
Length of output: 4778
Manifest refs use branch 3.4 instead of immutable version tags—inconsistent with prior releases.
The 2.19.0 manifest pins components to specific version tags (e.g., ref: tags/2.19.0.0), but 3.4.0 pins to the branch ref: '3.4'. Branch references can receive updates after release, whereas tags are immutable. This deviates from the project's established release strategy. The repository's documented approach uses .lock manifests with commit IDs for stable references—verify whether this input manifest is intended to be locked later, or if the pinning strategy should be aligned with prior releases.
🤖 Prompt for AI Agents
In manifests/3.4.0/opensearch-3.4.0.yml at line 25, the manifest currently pins
the component to the branch ref '3.4' which is mutable; replace this with an
immutable reference (a release tag like tags/3.4.0.0 or the exact commit SHA
used for the release) so the manifest is stable and consistent with prior
releases, or alternatively ensure the corresponding .lock manifest contains the
commit ID and document that this file will be locked later — update the ref to
the chosen tag or commit SHA accordingly.
Manifest Commit Lock for Release 3.4.0
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.