Skip to content

fix(ci): harden Homebrew service checks and align 0.3.7 versions - #86

Merged
DevVig merged 3 commits into
mainfrom
fix/finalize-pipefail-and-037-align
Jul 21, 2026
Merged

fix(ci): harden Homebrew service checks and align 0.3.7 versions#86
DevVig merged 3 commits into
mainfrom
fix/finalize-pipefail-and-037-align

Conversation

@DevVig

@DevVig DevVig commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replace brew services list | awk/grep with --json | jq in finalize-release workflow and smoke-formula script to fix Intel Broken pipe flakes under pipefail.
  • Align leftover 0.3.6 drift in apps/microbridge-ui/src-tauri/Cargo.toml and package-lock.json to 0.3.7.
  • Add docs/releases/v0.3.7.md and a route_action + OpenFocusedThread unit test proving non-macOS URI error / macOS Ok path (fix(ci): use focus URI on non-macOS to satisfy clippy #85 regression).

Test plan

  • cargo clippy -p microbridged --all-targets -- -D warnings
  • cargo test -p microbridged
  • CI: rust (ubuntu-latest), rust (macos-latest), ui

Summary by CodeRabbit

  • New Features
    • Added automatic discovery of installed agent runtimes at daemon startup.
    • Added an embedded local MCP endpoint at http://127.0.0.1:9190/mcp.
    • Added universal focus deep-linking via agent key presses.
    • Introduced a community adapter SDK.
  • Upgrade Notes
    • No migration is required; integrations may need reconnection after upgrading if adapters were disabled.
    • Focus deep-linking is supported on macOS; other platforms report an explanatory error.
  • Documentation
    • Added release notes for version 0.3.7.

Replace brew services list pipe chains with --json|jq to stop Intel
finalize flakes under pipefail, bump leftover UI crate/lockfile to 0.3.7,
add release notes, and regression-test OpenFocusedThread focus URI routing.
Copilot AI review requested due to automatic review settings July 21, 2026 18:41
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 52 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b140c2b2-4be9-4699-a606-5594c0069cc0

📥 Commits

Reviewing files that changed from the base of the PR and between 7791508 and 777ae53.

📒 Files selected for processing (1)
  • crates/microbridged/src/state.rs
📝 Walkthrough

Walkthrough

The release updates version metadata and documentation for Microbridge 0.3.7, adds platform-specific coverage for focused-thread deep links, and changes Homebrew service checks to parse JSON output with jq.

Changes

Release validation

Layer / File(s) Summary
Homebrew service state checks
.github/workflows/finalize-release.yml, scripts/smoke-formula.sh
Startup polling and post-uninstall verification now query brew services list --json with jq for the microbridge service.
Release metadata and focus-action validation
apps/microbridge-ui/src-tauri/Cargo.toml, crates/microbridged/src/state.rs, docs/releases/v0.3.7.md
The UI package version is bumped to 0.3.7, focused-thread deep-link behavior gains platform-specific test coverage, and release notes document version 0.3.7.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: copilot

Poem

I’m a rabbit reviewing the release tonight,
jq checks services crisp and bright.
Focused threads hop through links with care,
Version 0.3.7 blooms everywhere.
Carrots and tests now pass the way—
Hoppy release day!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main CI hardening and version alignment changes in the PR.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR hardens Homebrew service-state detection in CI/release scripts to avoid pipefail-related flakes, aligns remaining 0.3.60.3.7 version drift in the UI app, and adds release notes plus a regression test covering platform-specific focus URI behavior.

Changes:

  • Switch Homebrew service checks from brew services list | awk/grep to brew services list --json | jq.
  • Align microbridge-ui version metadata from 0.3.6 to 0.3.7 (Tauri Cargo + npm lockfile).
  • Add v0.3.7 release notes and a route_action unit test for OpenFocusedThread focus URI behavior across macOS vs non-macOS.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
scripts/smoke-formula.sh Updates service-state parsing to use Homebrew JSON + jq during formula smoke test.
.github/workflows/finalize-release.yml Updates finalize-release workflow’s service-state checks to use JSON + jq.
crates/microbridged/src/state.rs Adds a unit test for OpenFocusedThread focus URI behavior on macOS vs non-macOS.
apps/microbridge-ui/src-tauri/Cargo.toml Bumps UI app version to 0.3.7.
apps/microbridge-ui/package-lock.json Aligns npm lockfile version fields to 0.3.7.
docs/releases/v0.3.7.md Adds 0.3.7 release notes documenting highlights and risks.
Files not reviewed (1)
  • apps/microbridge-ui/package-lock.json: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/smoke-formula.sh Outdated
Comment thread .github/workflows/finalize-release.yml Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
crates/microbridged/src/state.rs (1)

1097-1106: 🩺 Stability & Availability | 🔵 Trivial | 🏗️ Heavy lift

Make the macOS test hermetic and assert the URI actually used.

On macOS this invokes the real open command; route_action discards the child result, so is_ok() only proves that a process was spawned and can pass even if cursor://file/test is rejected. It also launches an external application in CI. Inject a launcher or separate URI resolution from process execution, then assert the captured URI.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/microbridged/src/state.rs` around lines 1097 - 1106, Make the macOS
test around route_action hermetic by injecting or substituting the launcher
instead of invoking the real open command, and capture the URI passed to it.
Update the assertion to verify the captured URI is cursor://file/test, while
preserving the existing route_action success check where applicable.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/microbridge-ui/src-tauri/Cargo.toml`:
- Line 3: Update the release bump associated with Cargo.toml version 0.3.7 so
Formula/microbridge.rb uses 0.3.7 assets instead of v0.3.6. Replace the formula
version, download URLs, and corresponding checksums, ensuring
finalize-release.yml installs and validates the new release.

---

Nitpick comments:
In `@crates/microbridged/src/state.rs`:
- Around line 1097-1106: Make the macOS test around route_action hermetic by
injecting or substituting the launcher instead of invoking the real open
command, and capture the URI passed to it. Update the assertion to verify the
captured URI is cursor://file/test, while preserving the existing route_action
success check where applicable.
🪄 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: CHILL

Plan: Pro

Run ID: f3459646-e72b-45a1-a8f8-12640df22925

📥 Commits

Reviewing files that changed from the base of the PR and between 3a7251b and 7791508.

⛔ Files ignored due to path filters (1)
  • apps/microbridge-ui/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (5)
  • .github/workflows/finalize-release.yml
  • apps/microbridge-ui/src-tauri/Cargo.toml
  • crates/microbridged/src/state.rs
  • docs/releases/v0.3.7.md
  • scripts/smoke-formula.sh

Comment thread apps/microbridge-ui/src-tauri/Cargo.toml
@DevVig
DevVig merged commit f16427d into main Jul 21, 2026
6 checks passed
@DevVig
DevVig deleted the fix/finalize-pipefail-and-037-align branch July 21, 2026 18:50
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