feat: upgrade chain dependencies to 1.19#265
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
✅ Files skipped from review due to trivial changes (6)
📝 WalkthroughWalkthroughWorkspace and package dependency versions were bumped (cosmwasm-std and multiple injective-* crates), CI and rust toolchain updated to 1.88.0, a commented Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Review rate limit: 4/5 reviews remaining, refill in 12 minutes. Comment |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@Cargo.toml`:
- Around line 13-14: The workspace Cargo.toml pins cosmwasm-schema to 1.5.0
which is incompatible with cosmwasm-std 3.0.5; update the cosmwasm-schema
dependency entry in Cargo.toml to the current stable release (3.0.4) so schema
tooling aligns with the runtime library (change the cosmwasm-schema = { version
= "1.5.0" } line to use version "3.0.4"); ensure any workspace inheritance for
contracts/* continues to reference this updated cosmwasm-schema version.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 5a1b9c03-bf4d-4341-a84f-b4533cc39286
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (8)
Cargo.tomlcontracts/atomic-order-example/Cargo.tomlcontracts/injective-cosmwasm-mock/Cargo.tomlcontracts/injective-cosmwasm-stargate-example/Cargo.tomlpackages/injective-cosmwasm/Cargo.tomlpackages/injective-math/Cargo.tomlpackages/injective-testing/Cargo.tomlrust-toolchain.toml
| cosmwasm-schema = { version = "1.5.0" } | ||
| cosmwasm-std = { version = "3.0.2", features = [ "cosmwasm_1_2", "cosmwasm_1_3", "cosmwasm_1_4", "cosmwasm_2_0", "iterator", "stargate" ] } | ||
| cosmwasm-std = { version = "3.0.5", features = [ "cosmwasm_1_2", "cosmwasm_1_3", "cosmwasm_1_4", "cosmwasm_2_0", "iterator", "stargate" ] } |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# Find the Cargo.toml file and examine the workspace dependencies
find . -name "Cargo.toml" -type f | head -20Repository: InjectiveLabs/cw-injective
Length of output: 380
🏁 Script executed:
# Check the root Cargo.toml to see the workspace and dependency declarations
cat -n Cargo.toml | head -30Repository: InjectiveLabs/cw-injective
Length of output: 1669
🌐 Web query:
cosmwasm-std 3.0.5 Cargo.toml dev-dependencies cosmwasm-schema
💡 Result:
In the Cargo.toml for cosmwasm-std version 3.0.5, the [dev-dependencies] section includes cosmwasm-schema = { workspace = true }, along with cosmwasm-core = { workspace = true }, chrono = { version = "0.4", default-features = false, features = ["alloc", "std"] }, crc32fast = "1.3.2", hex-literal = "0.4.1", paste = "1.0.15", and proptest = { version = "1.5.0", default-features = false, features = ["attr-macro", "std"] }. This is confirmed directly from the original Cargo.toml source on docs.rs for version 3.0.5, which shows cosmwasm-schema referenced via workspace inheritance in the dev-dependencies.
Citations:
- 1: https://docs.rs/crate/cosmwasm-std/latest/source/Cargo.toml.orig
- 2: https://docs.rs/crate/cosmwasm-std/3.0.3
- 3: https://docs.rs/crate/cosmwasm-std/latest/source/Cargo.toml
🌐 Web query:
cosmwasm-schema latest release version 2024 2025
💡 Result:
The latest release version of cosmwasm-schema is 3.0.4, released on 2026-02-10.
Citations:
- 1: https://crates.io/crates/cosmwasm-schema
- 2: https://crates.io/crates/cosmwasm-schema/2.3.0
- 3: https://github.com/CosmWasm/cosmwasm
- 4: https://docs.rs/cosmwasm-schema/3.0.4/aarch64-unknown-linux-gnu/cosmwasm_schema/
- 5: https://docs.rs/cosmwasm-schema
Bump cosmwasm-schema to match current releases.
contracts/* inherit cosmwasm-schema from the workspace, but it is pinned to 1.5.0 while cosmwasm-std is at 3.0.5. The current stable release of cosmwasm-schema is 3.0.4, and schema generation tooling should align with the runtime library version to avoid compatibility issues.
🔧 Proposed fix
-cosmwasm-schema = { version = "1.5.0" }
+cosmwasm-schema = { version = "3.0.4" }
cosmwasm-std = { version = "3.0.5", features = [ "cosmwasm_1_2", "cosmwasm_1_3", "cosmwasm_1_4", "cosmwasm_2_0", "iterator", "stargate" ] }📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| cosmwasm-schema = { version = "1.5.0" } | |
| cosmwasm-std = { version = "3.0.2", features = [ "cosmwasm_1_2", "cosmwasm_1_3", "cosmwasm_1_4", "cosmwasm_2_0", "iterator", "stargate" ] } | |
| cosmwasm-std = { version = "3.0.5", features = [ "cosmwasm_1_2", "cosmwasm_1_3", "cosmwasm_1_4", "cosmwasm_2_0", "iterator", "stargate" ] } | |
| cosmwasm-schema = { version = "3.0.4" } | |
| cosmwasm-std = { version = "3.0.5", features = [ "cosmwasm_1_2", "cosmwasm_1_3", "cosmwasm_1_4", "cosmwasm_2_0", "iterator", "stargate" ] } |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Cargo.toml` around lines 13 - 14, The workspace Cargo.toml pins
cosmwasm-schema to 1.5.0 which is incompatible with cosmwasm-std 3.0.5; update
the cosmwasm-schema dependency entry in Cargo.toml to the current stable release
(3.0.4) so schema tooling aligns with the runtime library (change the
cosmwasm-schema = { version = "1.5.0" } line to use version "3.0.4"); ensure any
workspace inheritance for contracts/* continues to reference this updated
cosmwasm-schema version.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/Basic.yml:
- Line 26: Replace all uses of the archived actions-rs actions: for each step
that uses actions-rs/toolchain@v1 (toolchain setup steps) swap it to
dtolnay/rust-toolchain@stable (or pin a specific toolchain), and for each step
that uses actions-rs/cargo@v1 (cargo command steps) remove the action and
convert the step to a plain run step that invokes the appropriate cargo command
(e.g., run: cargo build/test/check/..."matching the original intent") after the
toolchain install; update all 8 affected steps so toolchain installation uses
dtolnay/rust-toolchain@stable and cargo invocations are plain run: cargo ...
steps.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 1502e94e-131d-4b32-9062-71f26b3f4bc8
📒 Files selected for processing (3)
.github/workflows/Basic.ymlcontracts/injective-cosmwasm-mock/src/utils.rscontracts/injective-cosmwasm-stargate-example/src/utils.rs
💤 Files with no reviewable changes (2)
- contracts/injective-cosmwasm-mock/src/utils.rs
- contracts/injective-cosmwasm-stargate-example/src/utils.rs
| override: true | ||
|
|
||
| - name: Run all Rust tests | ||
| uses: actions-rs/cargo@v1 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify all outdated actions-rs usages in workflows
rg -n --iglob '*.yml' --iglob '*.yaml' 'uses:\s*actions-rs/cargo@v1|uses:\s*actions-rs/toolchain@v1' .github/workflows
# Re-run actionlint after migration (if available in your CI/dev env)
# actionlintRepository: InjectiveLabs/cw-injective
Length of output: 606
🏁 Script executed:
cat -n .github/workflows/Basic.yml | head -100Repository: InjectiveLabs/cw-injective
Length of output: 3805
🌐 Web query:
actions-rs/cargo deprecated GitHub Actions
💡 Result:
Yes, the GitHub Action actions-rs/cargo is deprecated and unmaintained. The repository https://github.com/actions-rs/cargo was archived on October 13, 2023, and is now read-only. It used Node.js 12, which is deprecated, causing warnings and potential failures in workflows. The recommended replacement is to run cargo commands directly using the 'run:' step after setting up the Rust toolchain. GitHub-hosted runners have Rust preinstalled, and the official GitHub Rust workflow template uses: - actions/checkout@v4 - dtolnay/rust-toolchain@stable (or similar for toolchain setup) - actions/cache@v4 for Cargo registry, git, and target directories - Then 'run: cargo check', 'run: cargo test', etc. This approach is simpler, faster, and maintained. For toolchain management, use dtolnay/rust-toolchain or actions-rust-lang/setup-rust-toolchain. Many projects have migrated by removing actions-rs/cargo and using direct cargo runs, as GitHub runners include cargo by default.
Citations:
- 1: Node.js 12 actions are deprecated. Please use Node.js 16 actions-rs/cargo#216
- 2: actions-rs/cargo are outdated and unmaintained versatica/mediasoup#1215
- 3: Move away from
actions-rs/cargolibp2p/rust-libp2p#3398 - 4: https://www.reddit.com/r/rust/comments/186kyra/httpsgithubcomactionsrs_is_archived_what_are_the/
- 5: action-rs is deprecated, replace to something else input-output-hk/ce-netsim#3
- 6: CI: Replace deprecated GitHub Actions causing CI workflow failures johnstonskj/rust-email_address#48
- 7: https://github.com/actions-rs/cargo
- 8: https://docs.github.com/en/actions/tutorials/build-and-test-code/rust
- 9: https://github.com/actions-rust-lang/setup-rust-toolchain
- 10: https://github.com/dtolnay/rust-toolchain/blob/master/README.md
- 11: https://github.com/dtolnay/rust-toolchain
🌐 Web query:
actions-rs/toolchain deprecated GitHub Actions
💡 Result:
actions-rs/toolchain is effectively deprecated/unmaintained: it’s referenced by projects as “unmaintained” and people have moved away from it; additionally the broader actions-rs organization repositories were archived (read-only) starting Oct 13, 2023. What to do instead (recommended). 1) Prefer using rustup directly (often no action is needed on GitHub-hosted runners). Pin your toolchain in rust-toolchain.toml (or rust-toolchain) and run cargo commands; rustup supports toolchain overrides via rust-toolchain.toml. 2) If you want a dedicated GitHub Action to install the toolchain, use actions-rust-lang/setup-rust-toolchain or dtolnay/rust-toolchain. Both are designed to install a Rust toolchain via rustup; dtolnay/rust-toolchain documents a concise “uses: dtolnay/rust-toolchain@” pattern. Practical examples. - Use rust-toolchain.toml in your repo (then just run cargo in CI; rustup will pick the pinned toolchain as overrides). - Or in workflow: - uses: actions-rust-lang/setup-rust-toolchain@v1 - uses: dtolnay/rust-toolchain@stable Notes. - The actions-rs/toolchain project also had issues unrelated to maintenance status (e.g., it surfaced GitHub Actions deprecation warnings like set-output / Node 12), and users report switching away from it to other actions.
Citations:
- 1: Project unmaintained actions-rs/toolchain#216
- 2: actions-rs/toolchain is unmaintained cloud-hypervisor/cloud-hypervisor#5929
- 3: https://www.reddit.com/r/rust/comments/186kyra/httpsgithubcomactionsrs_is_archived_what_are_the/
- 4: https://github.com/actions-rs/core/tree/0369fa2eb90aec7963b16c88513a80f3d7c766e3
- 5: https://github.com/actions-rs/core
- 6: https://github.com/actions-rust-lang/setup-rust-toolchain
- 7: https://github.com/dtolnay/rust-toolchain/blob/master/README.md
- 8: https://rust-lang.github.io/rustup/overrides.html?highlight=toolchain
- 9: https://github.com/dtolnay/rust-toolchain
Replace all deprecated actions-rs actions (CI blocker).
Both actions-rs/cargo@v1 and actions-rs/toolchain@v1 are archived and unmaintained since October 2023. They use deprecated Node.js 12 and will cause CI failures. Migrate to standard Rust tooling:
- Toolchain setup (lines 18, 42, 57, 81): Replace
actions-rs/toolchain@v1withdtolnay/rust-toolchain@stable(or pin specific version). - Cargo commands (lines 26, 64, 89, 96): Replace
actions-rs/cargo@v1with plainrun: cargo <command>steps after toolchain installation.
Migration example
- - name: Install stable toolchain
- uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: 1.88.0
- target: wasm32-unknown-unknown
- override: true
+ - name: Install stable toolchain
+ uses: dtolnay/rust-toolchain@1.88.0
+ with:
+ targets: wasm32-unknown-unknown
- - name: Run all Rust tests
- uses: actions-rs/cargo@v1
- with:
- command: test
- toolchain: 1.88.0
- args: --workspace --all-targets --locked
+ - name: Run all Rust tests
+ run: cargo test --workspace --all-targets --locked
env:
RUST_BACKTRACE: 1Apply to all 8 affected steps: toolchain install steps (18, 42, 57, 81) and cargo command steps (26, 64, 89, 96).
🧰 Tools
🪛 actionlint (1.7.12)
[error] 26-26: the runner of "actions-rs/cargo@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue
(action)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/Basic.yml at line 26, Replace all uses of the archived
actions-rs actions: for each step that uses actions-rs/toolchain@v1 (toolchain
setup steps) swap it to dtolnay/rust-toolchain@stable (or pin a specific
toolchain), and for each step that uses actions-rs/cargo@v1 (cargo command
steps) remove the action and convert the step to a plain run step that invokes
the appropriate cargo command (e.g., run: cargo build/test/check/..."matching
the original intent") after the toolchain install; update all 8 affected steps
so toolchain installation uses dtolnay/rust-toolchain@stable and cargo
invocations are plain run: cargo ... steps.
Summary
Published crates
Summary by CodeRabbit
Chores
Bug Fixes
Style