Skip to content

[ci] Added Selenium connection failure to transient markers#648

Merged
nemesifier merged 3 commits intomasterfrom
fix/ci-failure-bot-transient-error
Apr 10, 2026
Merged

[ci] Added Selenium connection failure to transient markers#648
nemesifier merged 3 commits intomasterfrom
fix/ci-failure-bot-transient-error

Conversation

@stktyagi
Copy link
Copy Markdown
Member

@stktyagi stktyagi commented Apr 10, 2026

Added more transient failure markers that caused a skipped re-run.

Checklist

  • I have read the OpenWISP Contributing Guidelines.
  • I have manually tested the changes proposed in this pull request.
  • I have written new test cases for new code and/or updated existing tests for changes to existing code.
  • I have updated the documentation.

Description of Changes

Added about:neterror?e=connectionFailure in TRANSIENT_FAILURE_MARKERS.

Added more transient failure markers that caused a skipped re-run.
@kilo-code-bot
Copy link
Copy Markdown

kilo-code-bot Bot commented Apr 10, 2026

Code Review Summary

Status: No Issues Found | Recommendation: Merge

The PR adds the about:neterror?e=connectionFailure transient failure marker along with a corresponding test case. The test follows the existing patterns in the test file and correctly validates the new marker detection.

Files Reviewed (2 files)
  • .github/actions/bot-ci-failure/analyze_failure.py - Added about:neterror?e=connectionFailure to TRANSIENT_FAILURE_MARKERS
  • .github/actions/bot-ci-failure/test_analyze_failure.py - Added test case for the new marker

Reviewed by kimi-k2.5 · 115,309 tokens

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 10, 2026

📝 Walkthrough

Walkthrough

This PR extends the CI failure analyzer's transient/infrastructure failure markers by adding the substring about:neterror?e=connectionFailure to TRANSIENT_FAILURE_MARKERS, so log entries containing that substring will be treated as transient failures.

Sequence Diagram(s)

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested labels

enhancement

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The pull request description includes a summary of changes and the checklist, though the 'Reference to Existing Issue' section is missing and some template items are incomplete.
Bug Fixes ✅ Passed Pull request modifies CI infrastructure code (GitHub Actions workflow), not core user-facing functionality. Explicitly listed as valid exception.
Title check ✅ Passed The title follows the required [ci] prefix format and clearly describes the main change: adding a Selenium connection failure marker to transient failure detection.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ci-failure-bot-transient-error

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.

❤️ Share

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

@stktyagi stktyagi changed the title [ci] Added WebDriverException to transoent failure markers [ci] Added more Selenium transient failure markers Apr 10, 2026
@coderabbitai coderabbitai Bot added github_actions Pull requests that update GitHub Actions code helper-bots Helper bots, release management automation labels Apr 10, 2026
@coveralls
Copy link
Copy Markdown

coveralls commented Apr 10, 2026

Coverage Status

coverage: 97.476%. remained the same — fix/ci-failure-bot-transient-error into master

Copy link
Copy Markdown

@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

🤖 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/actions/bot-ci-failure/analyze_failure.py:
- Around line 34-35: Remove the overly broad
"selenium.common.exceptions.WebDriverException" marker from the
transient/failure markers list so that Selenium base exceptions are not treated
as infrastructure/network transients; keep the
"about:neterror?e=connectionFailure" entry and any other specific transient
markers. Locate the list that contains the string
"selenium.common.exceptions.WebDriverException" (the transient markers array)
and delete that entry, leaving only specific exception strings or URL markers
for transient classification.
🪄 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: 7feed6e5-9482-4d66-b403-0e597c92f8ba

📥 Commits

Reviewing files that changed from the base of the PR and between 98540a6 and 24c0a27.

📒 Files selected for processing (1)
  • .github/actions/bot-ci-failure/analyze_failure.py
📜 Review details
⏰ 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). (14)
  • GitHub Check: Python==3.10 | django~=4.2.0
  • GitHub Check: Python==3.11 | django~=5.0.0
  • GitHub Check: Python==3.13 | django~=5.2.0
  • GitHub Check: Python==3.11 | django~=5.1.0
  • GitHub Check: Python==3.12 | django~=5.1.0
  • GitHub Check: Python==3.13 | django~=5.1.0
  • GitHub Check: Python==3.12 | django~=4.2.0
  • GitHub Check: Python==3.12 | django~=5.0.0
  • GitHub Check: Python==3.12 | django~=5.2.0
  • GitHub Check: Python==3.10 | django~=5.0.0
  • GitHub Check: Python==3.10 | django~=5.2.0
  • GitHub Check: Python==3.11 | django~=4.2.0
  • GitHub Check: Python==3.11 | django~=5.2.0
  • GitHub Check: Python==3.10 | django~=5.1.0

Comment thread .github/actions/bot-ci-failure/analyze_failure.py Outdated
Removed WebDriverException as it is overly broad for transient classification.
Copy link
Copy Markdown

@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

🤖 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/actions/bot-ci-failure/analyze_failure.py:
- Line 34: Add a new positive unit test in the test module that calls the
analyzer's _is_transient_failure function and asserts it returns True for the
string "about:neterror?e=connectionFailure"; update the existing test file
test_analyze_failure.py to include a test case (e.g.,
test_transient_marker_about_neterror_connectionFailure) that imports the
analyzer or _is_transient_failure symbol and verifies the new classification so
future changes won't regress CI retry behavior.
🪄 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: 969645d3-db73-4565-8b31-897f416050c0

📥 Commits

Reviewing files that changed from the base of the PR and between 24c0a27 and 9fe5b65.

📒 Files selected for processing (1)
  • .github/actions/bot-ci-failure/analyze_failure.py
📜 Review details
⏰ 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). (18)
  • GitHub Check: Python==3.12 | django~=5.0.0
  • GitHub Check: Python==3.11 | django~=5.1.0
  • GitHub Check: Python==3.12 | django~=5.1.0
  • GitHub Check: Python==3.13 | django~=5.1.0
  • GitHub Check: Python==3.13 | django~=5.2.0
  • GitHub Check: Python==3.12 | django~=4.2.0
  • GitHub Check: Python==3.11 | django~=5.2.0
  • GitHub Check: Python==3.12 | django~=5.2.0
  • GitHub Check: Python==3.10 | django~=5.1.0
  • GitHub Check: Python==3.11 | django~=4.2.0
  • GitHub Check: Python==3.10 | django~=5.0.0
  • GitHub Check: Python==3.11 | django~=5.0.0
  • GitHub Check: Python==3.10 | django~=5.2.0
  • GitHub Check: Python==3.10 | django~=4.2.0
  • GitHub Check: Kilo Code Review
  • GitHub Check: Analyze (actions)
  • GitHub Check: Analyze (javascript-typescript)
  • GitHub Check: Analyze (python)

Comment thread .github/actions/bot-ci-failure/analyze_failure.py
Added a dedicated positive test to prevent silent regressions in CI retry behavior.
@stktyagi
Copy link
Copy Markdown
Member Author

@coderabbitai review. If found complete and correct then approve

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 10, 2026

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
cat .github/actions/bot-ci-failure/analyze_failure.py

Length of output: 17924


@stktyagi: I've reviewed the change. Here's a summary of my findings:

Change: Adds "about:neterror?e=connectionFailure" to TRANSIENT_FAILURE_MARKERS in .github/actions/bot-ci-failure/analyze_failure.py.

Assessment: ✅ Correct and complete.

  • Specificity: The marker is a Firefox-specific network error page URL that only appears in Selenium/WebDriver CI logs during genuine network-related infrastructure failures — no risk of false positives.
  • Consistency: It fits naturally alongside existing markers like "marionette.errors", "NS_ERROR_", "ConnectionRefusedError", and "selenium.common.exceptions.InvalidSessionIdException".
  • Safety: The guard in process_error_logsif _is_transient_failure(body) and not job_has_test_failure — ensures real test failures are never masked by transient classification, even if this marker is present in the log.
  • Good call dropping WebDriverException: It's the base class for all Selenium exceptions, making it far too broad for transient classification. The focused about:neterror?e=connectionFailure string is the right scoping.
  • No regressions: Coverage remains at 97.476%.

Approving the PR.

[approve]

@stktyagi stktyagi changed the title [ci] Added more Selenium transient failure markers [ci] Added Selenium connection failure to transient markers Apr 10, 2026
@nemesifier nemesifier merged commit 8b9fd39 into master Apr 10, 2026
37 checks passed
@nemesifier nemesifier deleted the fix/ci-failure-bot-transient-error branch April 10, 2026 22:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement github_actions Pull requests that update GitHub Actions code helper-bots Helper bots, release management automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants