fix(ci): harden Homebrew service checks and align 0.3.7 versions - #86
Conversation
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.
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 52 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the 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 configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe 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 ChangesRelease validation
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
There was a problem hiding this comment.
Pull request overview
This PR hardens Homebrew service-state detection in CI/release scripts to avoid pipefail-related flakes, aligns remaining 0.3.6→0.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/greptobrew services list --json | jq. - Align
microbridge-uiversion metadata from0.3.6to0.3.7(Tauri Cargo + npm lockfile). - Add
v0.3.7release notes and aroute_actionunit test forOpenFocusedThreadfocus 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.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
crates/microbridged/src/state.rs (1)
1097-1106: 🩺 Stability & Availability | 🔵 Trivial | 🏗️ Heavy liftMake the macOS test hermetic and assert the URI actually used.
On macOS this invokes the real
opencommand;route_actiondiscards the child result, sois_ok()only proves that a process was spawned and can pass even ifcursor://file/testis 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
⛔ Files ignored due to path filters (1)
apps/microbridge-ui/package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (5)
.github/workflows/finalize-release.ymlapps/microbridge-ui/src-tauri/Cargo.tomlcrates/microbridged/src/state.rsdocs/releases/v0.3.7.mdscripts/smoke-formula.sh
Summary
brew services list | awk/grepwith--json | jqin finalize-release workflow and smoke-formula script to fix IntelBroken pipeflakes underpipefail.0.3.6drift inapps/microbridge-ui/src-tauri/Cargo.tomlandpackage-lock.jsonto0.3.7.docs/releases/v0.3.7.mdand aroute_action+OpenFocusedThreadunit 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 warningscargo test -p microbridgedrust (ubuntu-latest),rust (macos-latest),uiSummary by CodeRabbit
http://127.0.0.1:9190/mcp.