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: update cosmos-sdk to 0.50.10 #155

Merged
merged 5 commits into from
Sep 25, 2024
Merged

Conversation

JulianToledano
Copy link
Contributor

@JulianToledano JulianToledano commented Sep 23, 2024

Summary by CodeRabbit

  • New Features

    • Updated Go programming language version to 1.22 for improved performance and features.
  • Chores

    • Updated various dependencies to their latest versions to enhance stability and security.
  • Documentation

    • Added new version v0.50.10 to CHANGELOG, detailing the Go version update and dependency changes.

Copy link

coderabbitai bot commented Sep 23, 2024

Walkthrough

The pull request introduces updates across multiple GitHub Actions workflow files and the go.mod file, primarily focused on upgrading the Go programming language version from "1.21" to "1.22". This change ensures that all workflows utilize the latest version of Go, which includes improvements and new features. Additionally, the CHANGELOG.md is updated to reflect the new versioning and changes made to dependencies.

Changes

Files Change Summary
.github/workflows/*.yml Updated Go version from "1.21" to "1.22" across all workflow files.
CHANGELOG.md Added version v0.50.10, updated Go version to "1.23.1", and cosmos-sdk to version v0.50.10.
go.mod Updated Go version from 1.22.2 to 1.23.1 and several dependencies to newer versions.

Possibly related PRs

🐰 "In the meadow where bunnies play,
We've upgraded Go, hip-hip-hooray!
From twenty-one to twenty-two,
New features await, oh what a view!
With each hop, our code will flow,
Thanks to the changes, watch us grow!"
🐇


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between ba06fd5 and 68e660c.

📒 Files selected for processing (5)
  • .github/workflows/build.yml (1 hunks)
  • .github/workflows/lint.yml (1 hunks)
  • .github/workflows/rosetta-cli-test.yaml (1 hunks)
  • .github/workflows/test.yml (1 hunks)
  • go.mod (7 hunks)
🚧 Files skipped from review as they are similar to previous changes (5)
  • .github/workflows/build.yml
  • .github/workflows/lint.yml
  • .github/workflows/rosetta-cli-test.yaml
  • .github/workflows/test.yml
  • go.mod

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.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

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

@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: 2

Outside diff range and nitpick comments (3)
.github/workflows/rosetta-cli-test.yaml (1)

Update COSMOS_SDK_VERSION in rosetta-cli-test.yaml

The COSMOS_SDK_VERSION is currently set to v0.50.3 in .github/workflows/rosetta-cli-test.yaml. Please update it to v1.50.10 to align with the PR title.

  • File: .github/workflows/rosetta-cli-test.yaml
  • Line: 24-25
Analysis chain

Line range hint 24-25: Cosmos SDK version needs updating

The PR title mentions updating cosmos-sdk to 1.50.10, but the workflow is still using v0.50.3. This inconsistency should be addressed.

Consider updating the COSMOS_SDK_VERSION to match the PR objective:

-          COSMOS_SDK_VERSION=v0.50.3
+          COSMOS_SDK_VERSION=v1.50.10

Please verify if this change is intentional or if the cosmos-sdk version should indeed be updated as per the PR title.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for cosmos-sdk version references in other workflow files
# Expected result: No other references to cosmos-sdk version v0.50.3, possible references to v1.50.10

echo "Checking for cosmos-sdk version references:"
rg --type yaml 'COSMOS_SDK_VERSION' .github/workflows

Length of output: 227

.github/workflows/lint.yml (1)

19-19: Consider specifying the exact Go version

While using "1.23" is valid and follows Go's major version release pattern, consider specifying the exact version (e.g., "1.23.1" as mentioned in the PR title) for better reproducibility and consistency with the PR objective.

If you decide to use the exact version, you can update the line as follows:

-          go-version: "1.23"
+          go-version: "1.23.1"
CHANGELOG.md (1)

39-43: LGTM! Minor note on the release date.

The changelog entry for v0.50.10 is well-structured and follows the guidelines. It correctly documents the updates to Go (1.23.1) and cosmos-sdk (v0.50.10) as mentioned in the PR objectives.

The release date (2024-09-23) appears to be in the future. Consider updating it to the current date or leaving it blank until the actual release date.

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between bc4233d and 40304b6.

Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
Files selected for processing (6)
  • .github/workflows/build.yml (1 hunks)
  • .github/workflows/lint.yml (1 hunks)
  • .github/workflows/rosetta-cli-test.yaml (1 hunks)
  • .github/workflows/test.yml (1 hunks)
  • CHANGELOG.md (1 hunks)
  • go.mod (7 hunks)
Additional comments not posted (7)
.github/workflows/rosetta-cli-test.yaml (1)

21-21: Go version update looks good

The update to Go version '^1.23' is consistent with the PR objective of updating to Go 1.23.1. This change will allow for any patch updates within the 1.23.x range, which is beneficial for incorporating bug fixes.

.github/workflows/test.yml (1)

24-24: Approve Go version update with suggestions

The update to Go 1.23 aligns with the PR objectives. However, consider the following points:

  1. For better reproducibility, it's recommended to use the specific version mentioned in the PR objectives (1.23.1) instead of 1.23.
  2. Ensure all dependencies in the project are compatible with Go 1.23.

Consider updating the Go version to the specific version mentioned in the PR objectives:

-          go-version: "1.23"
+          go-version: "1.23.1"

Let's verify the impact of this Go version update on the entire repository:

.github/workflows/build.yml (1)

Line range hint 1-52: Verify cosmos-sdk update mentioned in PR title

The PR title mentions updating cosmos-sdk to 1.50.10, but there are no changes related to this in the workflow file. This could indicate that the cosmos-sdk update is missing from the PR or that it doesn't require changes to this workflow file.

To verify if the cosmos-sdk update is present in other files of the repository, you can run the following script:

#!/bin/bash
# Search for cosmos-sdk version references in go.mod files
echo "Searching for cosmos-sdk version in go.mod files:"
rg -g 'go.mod' 'github.com/cosmos/cosmos-sdk' -A 1

# Search for cosmos-sdk imports in Go files
echo "Searching for cosmos-sdk imports in Go files:"
rg -g '*.go' 'github.com/cosmos/cosmos-sdk'

# Check if there are any pending changes related to cosmos-sdk
echo "Checking for pending changes related to cosmos-sdk:"
git diff | rg 'cosmos-sdk'

This script will help identify if the cosmos-sdk update is present in other parts of the codebase. If no changes are found, you may want to ask the PR author about the status of the cosmos-sdk update mentioned in the PR title.

go.mod (4)

Line range hint 1-158: Conduct thorough testing and review cometbft-db update

The go.mod file includes updates to a wide range of dependencies. While most are minor version bumps, the cumulative effect of these changes could potentially introduce compatibility issues. Of particular note is the update of github.com/cometbft/cometbft-db from v0.9.1 to v0.11.0, which spans multiple minor versions and may include breaking changes.

To ensure the stability of your project:

  1. Conduct thorough testing of all functionalities in your project, paying special attention to areas that interact with updated dependencies.
  2. Review the changelog for github.com/cometbft/cometbft-db between versions v0.9.1 and v0.11.0 for any breaking changes or significant updates.

Run the following script to fetch the relevant changelog entries for cometbft-db:

#!/bin/bash
# Description: Fetch changelog for cometbft-db between v0.9.1 and v0.11.0

echo "Fetching changelog for cometbft-db between v0.9.1 and v0.11.0..."
git clone --quiet https://github.com/cometbft/cometbft-db.git temp_cometbft_db
cd temp_cometbft_db
git log --oneline v0.9.1..v0.11.0
cd ..
rm -rf temp_cometbft_db

echo "\nPlease review the above changelog entries and ensure that any breaking changes or significant updates are addressed in your project."

After reviewing the changelog and conducting thorough testing, make any necessary adjustments to your codebase to accommodate these changes.


7-17: Review changelog for cosmos-sdk v0.50.10

Several direct dependencies have been updated, with the most notable being the upgrade of github.com/cosmos/cosmos-sdk from v0.50.9 to v0.50.10. While this is a minor version update and should maintain backwards compatibility, it's important to review the changelog for any significant changes or bug fixes that might affect your project.

Please run the following script to fetch and display the changelog for cosmos-sdk v0.50.10:

#!/bin/bash
# Description: Fetch and display the changelog for cosmos-sdk v0.50.10

echo "Fetching changelog for cosmos-sdk v0.50.10..."
curl -sSL https://raw.githubusercontent.com/cosmos/cosmos-sdk/v0.50.10/CHANGELOG.md | sed -n '/^## \[v0\.50\.10\]/,/^## \[v0\.50\.9\]/p'

echo "\nPlease review the above changelog and ensure that any breaking changes or significant updates are addressed in your project."

After reviewing the changelog, make sure to test your project thoroughly with the new dependency versions to catch any potential issues early.


3-3: Verify Go version 1.23.1 compatibility

The Go version has been updated from 1.22.2 to 1.23.1. This is a minor version update, which typically includes bug fixes and performance improvements. However, as of the current date (September 2024), Go 1.23.1 is not an officially released version. The latest stable version is Go 1.22.x.

Please run the following script to check the latest stable Go version:

#!/bin/bash
# Description: Verify the latest stable Go version

# Fetch the latest stable Go version
LATEST_GO_VERSION=$(curl -sSL https://golang.org/VERSION?m=text)

echo "Latest stable Go version: $LATEST_GO_VERSION"
echo "Current Go version in go.mod: 1.23.1"

if [[ "$LATEST_GO_VERSION" == "go1.23.1" ]]; then
  echo "The specified version (1.23.1) matches the latest stable version."
else
  echo "Warning: The specified version (1.23.1) does not match the latest stable version."
  echo "Consider updating to the latest stable version or reverting to a known stable version (e.g., 1.22.x)."
fi

If Go 1.23.1 is not yet officially released, consider using the latest stable version (1.22.x) or waiting for the official 1.23.1 release before updating.


Line range hint 29-147: Review security-related dependency updates

Several indirect dependencies have been updated, including security-critical packages such as golang.org/x/crypto (v0.25.0 to v0.26.0) and golang.org/x/net (v0.27.0 to v0.28.0). These updates may include important security fixes.

To ensure the security of your project, please run the following script to check for any known vulnerabilities in the updated dependencies:

After running the vulnerability check, consider conducting a thorough security audit of your project, especially focusing on how these updated dependencies are used in your codebase.

@@ -16,7 +16,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.21"
go-version: "1.23"
Copy link

Choose a reason for hiding this comment

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

Tip

Codebase Verification

Go version update requires alignment across the repository

The .github/workflows/lint.yml has been updated to Go version "1.23", aligning with the PR title. However:

  • go.mod specifies Go version "1.23.1"
  • Dockerfiles are using Go version "1.22"

Please update all Go version specifications to "1.23.1" to maintain consistency throughout the repository.

Analysis chain

Approved: Go version update, but note the discrepancy with PR title

The update to Go version "1.23" is in line with Go's typical release pattern for major versions. However, there's a slight discrepancy with the PR title, which mentions version 1.23.1.

To ensure consistency across the repository, please run the following script to check for any other Go version specifications:

Please review the output to ensure all Go version specifications are consistent with this update.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for Go version specifications across the repository

# Search for Go version specifications in various file types
echo "Searching for Go version specifications:"
rg --type yaml --type go --type mod '(?i)go-version|go [0-9]+\.[0-9]+' -g '!vendor'

# Search for Dockerfile GO version specifications
echo "Searching for Go version in Dockerfiles:"
rg --type dockerfile '(?i)FROM golang:[0-9]+\.[0-9]+' -g '!vendor'

Length of output: 399


Script:

#!/bin/bash
# Description: Check for Go version specifications across the repository with corrected file types

# Search for Go version specifications in YAML, Go, and go.mod files
echo "Searching for Go version specifications:"
rg --type yaml --type go --type 'go.mod' '(?i)go-version|go [0-9]+\.[0-9]+' -g '!vendor'

# Search for Go version in Dockerfiles
echo "Searching for Go version in Dockerfiles:"
rg --type dockerfile '(?i)FROM golang:[0-9]+\.[0-9]+' -g '!vendor'

Length of output: 405


Script:

#!/bin/bash
# Description: Check for Go version specifications across the repository with corrected file type handling

# Search for Go version specifications in YAML, Go, and go.mod files
echo "Searching for Go version specifications:"
rg '(?i)go-version|go [0-9]+\.[0-9]+' -g "*.yaml" -g "*.yml" -g "*.go" -g "go.mod" -g "!vendor"

# Search for Go version in Dockerfiles
echo "Searching for Go version in Dockerfiles:"
rg '(?i)FROM golang:[0-9]+\.[0-9]+' -g "Dockerfile*" -g "!vendor"

Length of output: 439

@@ -24,7 +24,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.21"
go-version: "1.23"
Copy link

Choose a reason for hiding this comment

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

Tip

Codebase Verification

Update Go version to the specific stable release and correct the cosmos-sdk version.

  • The workflow file currently uses go-version: "1.23", but the latest stable version is go1.23.1 as per the PR.
  • The cosmos-sdk version in go.mod is v0.50.10, which does not match the PR's specified 1.50.10. This appears to be a typo and should be corrected to ensure consistency.
Analysis chain

Verify Go version and consider using a more specific version.

The Go version has been updated from 1.21 to 1.23, which is in line with the PR title. However, there are a couple of points to consider:

  1. The PR title mentions Go 1.23.1, but the workflow specifies 1.23. It's generally better to use the full version number for consistency and to ensure you're using a specific stable release.
  2. As of September 2024, Go 1.23 is not an official release. The latest stable version is typically in the format 1.x.y (e.g., 1.21.0, 1.22.0, etc.).

Consider updating the Go version to match the latest stable release or the specific version mentioned in the PR title. For example:

- go-version: "1.23"
+ go-version: "1.23.1"

To verify the latest stable Go version, you can run the following script:

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Fetch the latest stable Go version
latest_go_version=$(curl -sSL https://go.dev/VERSION?m=text)
echo "Latest stable Go version: $latest_go_version"

# Check if the version in the workflow file matches the latest stable version
if grep -q "go-version: \"$latest_go_version\"" .github/workflows/build.yml; then
  echo "Workflow file is using the latest stable Go version."
else
  echo "Workflow file is not using the latest stable Go version."
  echo "Current version in workflow:"
  grep "go-version:" .github/workflows/build.yml
fi

Length of output: 3839


Script:

#!/bin/bash
# Fetch the latest stable Go version
latest_go_version=$(curl -sSL https://go.dev/VERSION?m=text)
echo "Latest stable Go version: $latest_go_version"

# Check if the version in the workflow file matches the latest stable version
if grep -q "go-version: \"$latest_go_version\"" .github/workflows/build.yml; then
  echo "Workflow file is using the latest stable Go version."
else
  echo "Workflow file is not using the latest stable Go version."
  echo "Current version in workflow:"
  grep "go-version:" .github/workflows/build.yml
fi

Length of output: 587


Script:

#!/bin/bash
# Fetch the latest stable Go version and extract only the version string
latest_go_version=$(curl -sSL https://go.dev/VERSION?m=text | head -n 1 | tr -d '\n')
echo "Latest stable Go version: $latest_go_version"

# Check if the version in the workflow file matches the latest stable version
if grep -q "go-version: \"$latest_go_version\"" .github/workflows/build.yml; then
  echo "Workflow file is using the latest stable Go version."
else
  echo "Workflow file is not using the latest stable Go version."
  echo "Current version in workflow:"
  grep "go-version:" .github/workflows/build.yml
fi

Length of output: 508

@JulianToledano JulianToledano changed the title chore: update Go to 1.23.1 and cosmos-sdk to 1.50.10 chore: update Go to 1.23.1 and cosmos-sdk to 0.50.10 Sep 23, 2024
@JulianToledano JulianToledano changed the title chore: update Go to 1.23.1 and cosmos-sdk to 0.50.10 chore: update cosmos-sdk to 0.50.10 Sep 25, 2024
@JulianToledano JulianToledano merged commit 38a2b0a into main Sep 25, 2024
11 checks passed
@JulianToledano JulianToledano deleted the feature/update-cosmos-50.10 branch September 25, 2024 11:13
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