Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: prepare systemtests release #22658

Merged
merged 1 commit into from
Nov 27, 2024
Merged

chore: prepare systemtests release #22658

merged 1 commit into from
Nov 27, 2024

Conversation

julienrbrt
Copy link
Member

@julienrbrt julienrbrt commented Nov 26, 2024

Description

Small follow-up of 14d98d2


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • included the correct type prefix in the PR title, you can find examples of the prefixes below:
  • confirmed ! in the type prefix if API or client breaking change
  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • reviewed "Files changed" and left comments if necessary
  • included the necessary unit and integration tests
  • added a changelog entry to CHANGELOG.md
  • updated the relevant documentation or specification, including comments for documenting Go code
  • confirmed all CI checks have passed

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

Please see Pull Request Reviewer section in the contributing guide for more information on how to review a pull request.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic, API design and naming, documentation is accurate, tests and test coverage

Summary by CodeRabbit

  • New Features
    • Updated changelog to include version entry for v1.0.0-rc.1.
  • Documentation
    • Deleted the comprehensive guide on setting up and writing system tests.
  • Chores
    • Updated module paths and dependencies in go.mod for both system tests and tests.
    • Reorganized and added indirect dependencies to ensure compatibility.

@julienrbrt julienrbrt requested a review from a team as a code owner November 26, 2024 20:50
Copy link
Contributor

coderabbitai bot commented Nov 26, 2024

📝 Walkthrough

Walkthrough

This pull request includes updates to the changelog, modifications to the go.mod files for system tests, and the deletion of the getting_started.md file. A new version entry for v1.0.0-rc.1 has been added to the changelog, while the go.mod files have been reorganized to include several indirect dependencies. The getting_started.md file, which provided guidance on system testing, has been removed.

Changes

File Change Summary
systemtests/CHANGELOG.md Added new version entry [v1.0.0-rc.1] - 2024-11-26 under "Features", referencing PR #22578.
systemtests/go.mod Reorganized dependencies; added multiple indirect dependencies, no version changes for existing ones.
tests/systemtests/go.mod Updated module path to github.com/cosmos/cosmos-sdk/tests/systemtests; reorganized dependencies, added new ones.
tests/systemtests/getting_started.md Deleted file providing guidance on system tests.

Possibly related PRs

Suggested labels

C:server/v2, C:server/v2 stf, C:server/v2 cometbft, C:collections, C:Cosmovisor, C:Confix, C:orm, C:x/accounts, C:x/accounts/base, C:x/accounts/lockup, C:x/accounts/multisig, C:x/bank, C:x/gov, C:x/feegrant, C:x/nft, C:x/protocolpool, C:x/staking, C:x/slashing, C:x/group, C:x/params, C:x/distribution, C:x/mint, C:x/consensus, C:collections/protocodec

Suggested reviewers

  • akhilkumarpilli
  • sontrinh16

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

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: 1

📜 Review details

Configuration used: .coderabbit.yml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 14d98d2 and 1a678a0.

⛔ Files ignored due to path filters (1)
  • tests/systemtests/go.sum is excluded by !**/*.sum
📒 Files selected for processing (4)
  • systemtests/CHANGELOG.md (1 hunks)
  • systemtests/go.mod (7 hunks)
  • tests/systemtests/getting_started.md (0 hunks)
  • tests/systemtests/go.mod (7 hunks)
💤 Files with no reviewable changes (1)
  • tests/systemtests/getting_started.md
✅ Files skipped from review due to trivial changes (1)
  • systemtests/CHANGELOG.md
🧰 Additional context used
📓 Path-based instructions (1)
tests/systemtests/go.mod (1)

Pattern tests/**/*: "Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request"

🔇 Additional comments (5)
systemtests/go.mod (3)

Line range hint 1-169: LGTM! Dependencies are well-organized for the systemtests release

The dependency updates and reorganization align well with the PR objectives. The changes maintain a clear structure with appropriate versioning.


158-158: Verify Google API dependencies compatibility with gRPC

The genproto package versions should be compatible with grpc v1.68.0.

Also applies to: 159-159, 160-160, 161-161

✅ Verification successful

Let's verify the dependencies and their versions in the local repository first, as the GitHub API search wasn't successful. This will help us understand the exact versions being used together.


Dependencies are compatible with gRPC v1.68.0

The dependency versions are aligned and compatible:

  • Using google.golang.org/grpc v1.68.0 with google.golang.org/protobuf v1.35.2
  • The genproto packages are using recent versions from 2024, which is appropriate for the gRPC version
  • All related protobuf dependencies (gogo/protobuf, golang/protobuf) are at stable versions
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check compatibility between genproto packages and grpc

# Check if these specific versions are commonly used together
gh api search/code -f query='path:go.mod "google.golang.org/grpc v1.68.0"' | jq -r '.items[].path' | xargs -I {} gh api repos/{}/contents/go.mod | jq -r '.content' | base64 -d | grep -E 'genproto|protobuf'

Length of output: 397


Script:

#!/bin/bash
# Let's check the current versions in go.mod
cat systemtests/go.mod | grep -E "grpc|genproto|protobuf"

# Also check go.sum for exact versions
cat systemtests/go.sum | grep -E "google.golang.org/genproto.*240227224415" | sort -u

Length of output: 982


9-9: Verify compatibility between cosmos-sdk v0.50.6 and grpc v1.68.0

The update to these core dependencies requires verification of compatibility.

Also applies to: 14-14

✅ Verification successful

No compatibility issues between cosmos-sdk v0.50.6 and grpc v1.68.0

The update to grpc v1.68.0 is compatible with cosmos-sdk v0.50.6 as both are direct dependencies in the same module without any conflicting version constraints or replace directives. The grpc version is also recent enough to support all features required by the SDK.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any known compatibility issues between cosmos-sdk and grpc versions

# Check if cosmos-sdk v0.50.6 mentions specific grpc version requirements
gh api repos/cosmos/cosmos-sdk/contents/go.mod?ref=v0.50.6 | jq -r '.content' | base64 -d | grep 'google.golang.org/grpc'

# Check for any issues mentioning compatibility between these versions
gh search issues "repo:cosmos/cosmos-sdk grpc v1.68.0 is:issue"

Length of output: 507


Script:

#!/bin/bash
# Let's try a different approach to check compatibility

# Check the current go.mod file for grpc version
rg "google.golang.org/grpc" systemtests/go.mod -A 1 -B 1

# Check if there are any direct references to grpc in the codebase that might indicate version requirements
rg "grpc\." --type go

# Look for any version constraints or requirements in go.mod
cat systemtests/go.mod

Length of output: 101520


Script:

#!/bin/bash
# Let's check the go.mod file content and search for grpc version requirements
cat systemtests/go.mod | grep -A 5 -B 5 "google.golang.org/grpc"

# Check if there are any specific version constraints in the cosmos-sdk dependency
cat systemtests/go.mod | grep -A 5 -B 5 "cosmos/cosmos-sdk"

# Look for any replace directives that might affect versioning
cat systemtests/go.mod | grep -A 1 "replace"

Length of output: 814

tests/systemtests/go.mod (2)

1-9: Verify the systemtests dependency version

The systemtests dependency is using a pseudo-version (v0.0.0-20241126144654-14d98d277124). Since this PR is preparing for a release, consider updating it to a proper release version.

✅ Verification successful

The pseudo-version for systemtests dependency is appropriate

The systemtests module appears to be in transition, with evidence of both old (cosmossdk.io/systemtests) and new (github.com/cosmos/cosmos-sdk/tests/systemtests) module paths. Using a pseudo-version is correct in this context since:

  • The module is being migrated as part of the release preparation
  • No official release tags exist yet
  • The package is actively being restructured

The pseudo-version ensures proper dependency tracking during this transition period until an official release is made.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if there are any tagged releases for systemtests
gh api repos/cosmos/cosmos-sdk/tags --jq '.[].name' | grep systemtests

# Check the commit hash to verify it's the latest
git log -1 14d98d2771244c6e23375022f46277657a4776c9 --pretty=format:"%H"

Length of output: 72


Script:

#!/bin/bash
# Let's try a different approach to check the systemtests module and its versioning

# Check if systemtests is a separate module
fd -t f go.mod | xargs cat | grep "module.*systemtests"

# Check for any references to systemtests versions in the codebase
rg -i "systemtests.*v\d+\.\d+\.\d+" --type go

# Look for any systemtests package declarations
ast-grep --pattern 'package systemtests'

Length of output: 1713


44-48: Verify compatibility of cosmos ecosystem dependencies

The new cosmos ecosystem dependencies have been added:

  • cosmos-proto is on a beta version (v1.0.0-beta.5)
  • gogogateway v1.2.0
  • gogoproto v1.7.0
  • iavl v1.1.4

Please ensure these versions are compatible with each other and with the cosmos-sdk v0.50.6.

✅ Verification successful

Let me analyze the compatibility of the cosmos ecosystem dependencies based on the search results.


Based on the search results and previous findings, I can now provide a final assessment of the dependencies.

Dependencies are compatible with cosmos-sdk ecosystem

The added dependencies are well-aligned with the cosmos ecosystem:

  • cosmos-proto v1.0.0-beta.5 is widely used across cosmos modules as shown in the search results
  • gogogateway v1.2.0 is a stable release used consistently across modules
  • gogoproto v1.7.0 is the latest version and was officially bumped in the SDK (changelog build(deps): Bump github.com/cosmos/gogoproto from 1.4.10 to 1.7.0 #21295)
  • iavl v1.1.4 is compatible with the SDK's requirements

The beta version of cosmos-proto is not a concern as it's a standard dependency in the cosmos ecosystem and is used consistently across multiple core modules.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for any reported compatibility issues in go.mod files
rg -A 5 "cosmos-proto.*beta.5|gogogateway.*1.2.0|gogoproto.*1.7.0|iavl.*1.1.4" | grep -B 5 "// indirect"

# Look for any compatibility requirements in README or docs
fd -t f -e md | xargs rg "compatibility|requires"

Length of output: 67938


Script:

#!/bin/bash
# Check for cosmos-sdk version and its dependencies in go.mod files
rg -A 5 "cosmos-sdk.*v0.50|cosmos-sdk.*v0.53" go.mod

# Check for any reported issues or compatibility notes in CHANGELOG files
fd -t f -e md | xargs rg "cosmos-proto.*beta|gogogateway.*1.2.0|gogoproto.*1.7.0|iavl.*1.1.4.*breaking"

Length of output: 259

@@ -63,7 +45,11 @@ require (
github.com/cometbft/cometbft-db v0.14.1 // indirect
github.com/cosmos/btcutil v1.0.5 // indirect
github.com/cosmos/cosmos-db v1.0.3-0.20240829004618-717cba019b33 // indirect
github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Dependency version misalignment detected

The following version mismatches were found between systemtests/go.mod and cosmos-sdk v0.50.6:

  • gogoproto: v1.7.0 vs v1.4.12
  • iavl: v1.1.4 vs v1.1.2

The cosmos-proto and gogogateway versions are aligned correctly.

Please update the indirect dependencies to match the versions used in cosmos-sdk v0.50.6 to avoid potential compatibility issues.

🔗 Analysis chain

Verify alignment of cosmos infrastructure dependencies

The added cosmos-related indirect dependencies should align with cosmos-sdk v0.50.6.

Also applies to: 50-50, 51-51, 52-52

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify version alignment of cosmos infrastructure dependencies

# Check cosmos-sdk v0.50.6 requirements for these packages
gh api repos/cosmos/cosmos-sdk/contents/go.mod?ref=v0.50.6 | jq -r '.content' | base64 -d | grep -E 'cosmos-proto|gogogateway|gogoproto|iavl'

Length of output: 240


Script:

#!/bin/bash
# Let's try a different approach using ripgrep to check the versions in go.mod files
rg -A 3 "cosmos-sdk.*v0\.50\.6" --type go

# Also check the specific versions of cosmos-proto and other dependencies
rg "cosmos-proto.*v[0-9]" --type go
rg "gogoproto.*v[0-9]" --type go
rg "iavl.*v[0-9]" --type go

Length of output: 2344


Script:

#!/bin/bash
# Let's check the actual content of the go.mod files to see the dependency versions
cat systemtests/go.mod

# Also check if there are any other go.mod files that might contain these dependencies
fd go.mod --exec cat {}

Length of output: 110733


Script:

#!/bin/bash
# Let's check the direct dependencies in the cosmos-sdk v0.50.6 repository
curl -s https://raw.githubusercontent.com/cosmos/cosmos-sdk/v0.50.6/go.mod | grep -E "cosmos-proto|gogogateway|gogoproto|iavl"

Length of output: 292

@julienrbrt julienrbrt added this pull request to the merge queue Nov 27, 2024
Merged via the queue into main with commit f296a50 Nov 27, 2024
73 of 74 checks passed
@julienrbrt julienrbrt deleted the julien/preprelease branch November 27, 2024 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants