Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 36 minutes and 19 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (3)
WalkthroughUpdated CI workflow triggers and added fmt/clippy checks to Makefile. Removed Dependabot and release workflows from geyser-plugin. Reformatted extensive portions of geyser-plugin source code and build scripts for code style consistency, with no functional logic changes. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 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 unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/test.yml (1)
18-19: 🧹 Nitpick | 🔵 TrivialPin the Rust toolchain for reproducible CI.
actions-rust-lang/setup-rust-toolchain@v1without atoolchaininput resolves to the lateststable, so a new stable release can silently flip clippy lint sets (with-D warnings) and break CI on an unrelated PR. Pin explicitly (e.g.,toolchain: stablewith a minimum version, or track arust-toolchain.toml) so the CI contract is deterministic.♻️ Example
- name: Install Rust uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + components: rustfmt, clippyOr commit a
rust-toolchain.tomlat the repo root and let the action pick it up.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/test.yml around lines 18 - 19, The workflow currently uses actions-rust-lang/setup-rust-toolchain@v1 without pinning a toolchain; update the GitHub Actions step (uses: actions-rust-lang/setup-rust-toolchain@v1) to explicitly set a deterministic toolchain (e.g., add a toolchain: stable-1.XX.0 or toolchain: "1.XX.0" input) or instead add/commit a rust-toolchain.toml at the repo root so the action picks a fixed Rust version; ensure the chosen version satisfies any CI linting (clippy) constraints to avoid silent breaks.
♻️ Duplicate comments (1)
.github/workflows/test.yml (1)
51-52:⚠️ Potential issue | 🟡 MinorRoot-cause note: this step is the divergence point for the
nextestvscargo testmismatch.This workflow is described in
README.mdas the single source of truth for the CI contract, but it usescargo testwhileREADME.md(lines 23–28) and theMakefilechecktarget (line 47) advertisecargo nextest run -j16 --workspace. Pick one runner authoritatively — see the detailed comments on README.md and Makefile for the two alignment options. Calling it out here because this is where the contract is actually enforced.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/test.yml around lines 51 - 52, CI step currently runs `cargo test --workspace -- --test-threads=16` (step named "cargo test") which diverges from README.md and Makefile that expect `cargo nextest run -j16 --workspace`; update the workflow to match the project contract by replacing the command in the "cargo test" step with `cargo nextest run -j16 --workspace` (or, if you choose the other option, update README.md and the Makefile to advertise `cargo test` instead) so the workflow, README, and Makefile are consistent.
🤖 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/test.yml:
- Around line 33-40: The workflow currently uses actions/cache@v5 only for
~/.cargo/registry and ~/.cargo/git which misses caching target/; replace that
step with Swatinem/rust-cache@v2 (or add an additional cache step) so the build
artifact directory target/ is cached along with registry/git deps; update the
cache action referenced in the workflow (replace actions/cache@v5 usage) to
Swatinem/rust-cache@v2 so it automatically keys on rustc/Cargo.lock and includes
target/ to materially speed up CI.
In `@Makefile`:
- Around line 44-47: Update the Makefile to match CI behavior: change the clippy
invocation in the recipe that currently runs "cargo clippy --workspace
--all-targets -- -D warnings" to include "--no-deps" (i.e., "cargo clippy
--workspace --all-targets --no-deps -- -D warnings"), and remove the nextest
invocation "cargo nextest run -j16 --workspace" replacing it with the CI runner
"cargo test --workspace" so local "make check" uses the same test runner and
lint scope as the workflow; this touches the Makefile targets containing the
cargo fmt/clippy/build/test commands.
In `@README.md`:
- Line 25: Update the README's Clippy invocation to match CI by changing the
documented command to "cargo clippy --workspace --all-targets --no-deps -- -D
warnings" so the README mirrors the CI workflow; edit the README line that
currently shows "cargo clippy --workspace --all-targets -- -D warnings" and
replace it with the command including the --no-deps flag to keep the "CI
Contract" accurate.
- Around line 18-28: The README's "CI Contract" lists `cargo nextest run -j16
--workspace` but the workflow actually runs `cargo test --workspace --
--test-threads=16`, causing a mismatch; fix by either (A) updating the CI
Contract section in README and the Makefile `check` target to replace `cargo
nextest run -j16 --workspace` with `cargo test --workspace -- --test-threads=16`
so docs match current workflow, or (B) change the workflow's test step to
install `cargo-nextest` and run `cargo nextest run -j16 --workspace` so the
workflow matches the README (ensure the workflow test job is updated
accordingly).
---
Outside diff comments:
In @.github/workflows/test.yml:
- Around line 18-19: The workflow currently uses
actions-rust-lang/setup-rust-toolchain@v1 without pinning a toolchain; update
the GitHub Actions step (uses: actions-rust-lang/setup-rust-toolchain@v1) to
explicitly set a deterministic toolchain (e.g., add a toolchain: stable-1.XX.0
or toolchain: "1.XX.0" input) or instead add/commit a rust-toolchain.toml at the
repo root so the action picks a fixed Rust version; ensure the chosen version
satisfies any CI linting (clippy) constraints to avoid silent breaks.
---
Duplicate comments:
In @.github/workflows/test.yml:
- Around line 51-52: CI step currently runs `cargo test --workspace --
--test-threads=16` (step named "cargo test") which diverges from README.md and
Makefile that expect `cargo nextest run -j16 --workspace`; update the workflow
to match the project contract by replacing the command in the "cargo test" step
with `cargo nextest run -j16 --workspace` (or, if you choose the other option,
update README.md and the Makefile to advertise `cargo test` instead) so the
workflow, README, and Makefile are consistent.
🪄 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: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: ad346463-7754-4bed-9978-656a654acd4d
📒 Files selected for processing (21)
.github/workflows/test.ymlMakefileREADME.mdevent-proto/build.rsgeyser-plugin/.github/dependabot.ymlgeyser-plugin/.github/workflows/release.ymlgeyser-plugin/src/account_update_publisher.rsgeyser-plugin/src/config.rsgeyser-plugin/src/confirmation_buffer.rsgeyser-plugin/src/initial_account_backfill/mod.rsgeyser-plugin/src/initial_account_backfill/rpc.rsgeyser-plugin/src/ksql.rsgeyser-plugin/src/metrics.rsgeyser-plugin/src/plugin/dispatch.rsgeyser-plugin/src/plugin/mod.rsgeyser-plugin/src/publisher.rsgeyser-plugin/src/server/accounts.rsgeyser-plugin/src/server/mod.rsgeyser-plugin/src/server/prom.rsgeyser-plugin/src/server/subscriptions.rsrustfmt.toml
💤 Files with no reviewable changes (2)
- geyser-plugin/.github/workflows/release.yml
- geyser-plugin/.github/dependabot.yml
Amp-Thread-ID: https://ampcode.com/threads/T-019db390-7652-72fc-9fa8-2e6d0060e8de Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019db390-7652-72fc-9fa8-2e6d0060e8de Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019db390-7652-72fc-9fa8-2e6d0060e8de Co-authored-by: Amp <amp@ampcode.com>
Summary
Move Rust CI ownership to the monorepo root and make the workspace-level verification contract explicit.
geyser-plugin/.githubautomation, including Dependabotfmt,clippy,build, andnextestrustfmtconfiguration to the repository root and reformat the workspace against itmake checkand the README with the same CI checksDetails
This PR finishes the CI cleanup for the monorepo layout. The old plugin-local GitHub automation was still modeled like
geyser-pluginwas its own standalone repository, which no longer matches how this repo is built or reviewed. The new workflow makes the root workspace the single source of truth for CI.CI and repo automation
The root
.github/workflows/test.ymlnow validates the full Rust workspace on pushes and pull requests. It installs the Rust toolchain and Linux system dependencies needed by the workspace, then runs formatting checks, clippy with warnings denied, a workspace build, andcargo nextest.The obsolete nested automation under
geyser-plugin/.github/was removed entirely, including the old test/release workflows and the leftover Dependabot config.Formatting and local verification
The shared
rustfmtpolicy now lives at the repository root instead of undergrpc-service, so root-level formatting behaves consistently for every crate in the workspace. The workspace was reformatted once to match that single configuration.make checkand the README now describe the same verification contract as CI, so the expected local pre-push checks match what GitHub Actions enforces.Summary by CodeRabbit
Chores
masterbranchStyle