Skip to content

Conversation

@hanabi1224
Copy link
Contributor

@hanabi1224 hanabi1224 commented Sep 11, 2025

Summary of changes

Ignore eth_newBlockFilter test to unblock CI, see #6069

Changes introduced in this pull request:

Reference issue to close (if applicable)

Closes

Other information and links

Change checklist

  • I have performed a self-review of my own code,
  • I have made corresponding changes to the documentation. All new code adheres to the team's documentation standards,
  • I have added tests that prove my fix is effective or that my feature works (if possible),
  • I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Summary by CodeRabbit

  • Tests
    • Updated the test suite to temporarily skip a flaky network filter scenario due to a known issue, improving CI stability and reducing false negatives.
    • This change affects only internal test configuration; runtime behavior and feature set remain unchanged.
    • No public API or user-facing changes; builds and releases proceed as normal.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 11, 2025

Walkthrough

A stateful test entry in src/tool/subcommands/api_cmd/stateful_tests.rs was reformatted to a multi-line builder chain and marked as ignored with a reference URL. No production code or public APIs were changed.

Changes

Cohort / File(s) Summary
Stateful tests update
src/tool/subcommands/api_cmd/stateful_tests.rs
Reformatted the EthNewBlockFilter test builder to multi-line and added .ignore("https://github.com/ChainSafe/forest/issues/6069") to skip it. No other test entries changed; no public API changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • LesnyRumcajs
  • akaladarshi

Pre-merge checks (2 passed, 1 warning)

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly and accurately describes the primary change: ignoring the eth_newBlockFilter test in the forest-tool "api test-stateful" suite to address CI. It is specific, concise, and does not include irrelevant noise, and it matches the changeset which adds an ignore() to that test entry. Therefore the title communicates the main intent clearly to reviewers.

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch hm/ignore-api-test-stateful

Comment @coderabbitai help to get the list of available commands and usage tips.

@hanabi1224 hanabi1224 marked this pull request as ready for review September 11, 2025 11:12
@hanabi1224 hanabi1224 requested a review from a team as a code owner September 11, 2025 11:12
@hanabi1224 hanabi1224 requested review from LesnyRumcajs and sudo-shashank and removed request for a team September 11, 2025 11:12
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: 0

🧹 Nitpick comments (1)
src/tool/subcommands/api_cmd/stateful_tests.rs (1)

109-120: Print the ignore reason and allow bypassing ignores in nightly runs.

Two small improvements:

  • Include the ignore message (URL) in the “ignored” log to aid triage.
  • Gate ignores behind an env flag (e.g., FOREST_RUN_IGNORED=1) so we can exercise flaky tests in scheduled jobs.

Proposed tweak to run_tests logging/flow:

if let Some(reason) = test.ignore {
    if std::env::var_os("FOREST_RUN_IGNORED").is_none() {
        ignored += 1;
        println!(
            "test {} ... ignored: {reason}",
            if let Some(name) = test.name { name.to_string() } else { format!("#{i}") },
        );
        continue;
    } else {
        println!(
            "test {} ... RUNNING (was ignored): {reason}",
            if let Some(name) = test.name { name.to_string() } else { format!("#{i}") },
        );
        // fall through to run the test
    }
}

This keeps CI green by default while ensuring ignored tests still get signal in nightly/scheduled workflows.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4b4411a and 12589f5.

📒 Files selected for processing (1)
  • src/tool/subcommands/api_cmd/stateful_tests.rs (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: hanabi1224
PR: ChainSafe/forest#5930
File: build.rs:64-77
Timestamp: 2025-08-13T09:43:20.301Z
Learning: hanabi1224 prefers hard compile-time errors in build scripts rather than runtime safeguards or collision detection, believing it's better to fail fast and fix root causes of issues like malformed snapshot names.
⏰ 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). (7)
  • GitHub Check: Build forest binaries on Linux AMD64
  • GitHub Check: tests
  • GitHub Check: tests-release
  • GitHub Check: Build Ubuntu
  • GitHub Check: cargo-publish-dry-run
  • GitHub Check: Build MacOS
  • GitHub Check: All lint checks
🔇 Additional comments (1)
src/tool/subcommands/api_cmd/stateful_tests.rs (1)

633-635: Scoped ignore is appropriate and consistent.

Marking eth_newBlockFilter as ignored with a tracking link cleanly unblocks CI and follows the existing pattern used elsewhere in this file. No functional impact on production code.

@hanabi1224 hanabi1224 added this pull request to the merge queue Sep 11, 2025
Merged via the queue into main with commit 2c2153d Sep 11, 2025
44 checks passed
@hanabi1224 hanabi1224 deleted the hm/ignore-api-test-stateful branch September 11, 2025 12:01
Signor1 pushed a commit to Signor1/forest that referenced this pull request Sep 12, 2025
@coderabbitai coderabbitai bot mentioned this pull request Sep 24, 2025
4 tasks
@coderabbitai coderabbitai bot mentioned this pull request Dec 18, 2025
4 tasks
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.

4 participants