Skip to content

feat(browserstack-service): render end-of-build summary entries (SDK-7358) [v8] - #201

Open
shivam5643 wants to merge 2 commits into
v8from
feat/SDK-7358-version-nudges-v8
Open

shivam5643 wants to merge 2 commits into
v8from
feat/SDK-7358-version-nudges-v8

Conversation

@shivam5643

Copy link
Copy Markdown
Collaborator

What is this about?

Renders end-of-build customer-visible summary entries (SDK-7358) — v8 line.

Mirrors #200 (v9 / main) onto the v8 branch. The binary returns
CustomerVisibleSummaryEntry items on StopBinSessionResponse for end-of-build messages
such as the SDK version nudge. The v8 line had neither the proto field nor a renderer, so
those messages arrived and were silently dropped for every wdio v8 customer on the CLI path.

Adds the proto field and a renderer that writes body verbatim, picks the stream from
severity, and archives a copy to the log file. Deliberately does not branch on
entryType, so future entry types need no further service change.

Stream choice: warn/warning/error -> stderr, everything else including unknown ->
stdout, so a malformed severity cannot false-alarm CI tooling watching stderr.

The tests follow this branch's existing idiom (new GrpcClient() + stream spies) rather
than copying v9's module-mock style.

Related Jira task/s

Release (mandatory for every PR — required for the ready-for-review label)

Version bump: (required — tick exactly one)

  • minor (backwards-compatible feature)
  • patch (bug fix or other small change)

Release notes type: (optional)

  • New Feature
  • Bug Fix
  • Other Improvement

Release notes (customer-facing): (optional but encouraged)

  • End-of-build messages from BrowserStack — such as a notice that your SDK version is outdated or has a known issue — are now shown at the end of your test run and written to the SDK log.

Release notes (internal): (required — engineer-facing; what actually changed / why)

  • Adds entries + CustomerVisibleSummaryEntry to sdk-messages.proto, matching the binary's canonical definition (field 5).
  • GrpcClient.renderCustomerVisibleSummary writes body verbatim (not through the logger, whose per-line prefix would break the binary's box-border alignment) and archives a copy via BStackLogger.
  • Failure-tolerant: a render error is swallowed and logged at debug; stopBinSession still returns its response.

Checklist

  • Ready to review
  • Has it been tested locally?

PR Validations

Run Tests: Comment RUN_TESTS to trigger sanity tests.

Testing

🤖 Generated with Claude Code

…7358)

The binary returns CustomerVisibleSummaryEntry items on StopBinSessionResponse
for end-of-build messages such as the SDK version nudge. The v8 line had neither
the proto field nor a renderer, so those messages were dropped for every wdio v8
customer running through the CLI path.

Adds the proto field and a renderer that writes `body` verbatim, picks the
stream from `severity` (warn/warning/error -> stderr, everything else including
unknown -> stdout so a malformed severity cannot trip CI stderr watchers), and
archives a copy to the log file for runners that keep only the log directory.

Deliberately does not branch on `entry_type`, so future entry types need no
further service change. Mirrors the v9 change on main.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@shivam5643
shivam5643 requested a review from a team as a code owner September 16, 2026 08:07
@shivam5643
shivam5643 requested review from 07souravkunda and dandonarahul2002 and removed request for a team September 16, 2026 08:07
@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited), Workspace UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: ecb16e5c-14ac-4331-b7a5-0dcca89e1257

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

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.

2 participants