[PR #6999] [MERGED] fix(ci): isolate browser verifier D-Bus sessions #7561

Closed
opened 2026-11-03 13:38:43 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/6999
Author: @gensokyo-dev
Created: 10/24/2026
Status: ✅ Merged
Merged: 10/24/2026
Merged by: @gensokyo-dev

Base: main ← Head: fix/browser-ci-session-bus-20261024


📝 Commits (1)

  • 104d9a1 fix(ci): isolate browser verifier D-Bus sessions

📊 Changes

3 files changed (+6 additions, -3 deletions)

View changed files

📝 .github/workflows/real-browser.yml (+2 -1)
📝 .github/workflows/real-web-runtime.yml (+2 -1)
📝 .github/workflows/real-web-source-map.yml (+2 -1)

📄 Description

Problem and outcome

Main's source-map verifier twice exceeded Chrome's unchanged 20 s launch deadline, with D-Bus address/connection errors in the launch log (latest failure). Run the three Linux Chromium verifier commands under dbus-run-session so each owns a fresh, working session bus. Replace runtime CI's partial env -u workaround and apply the same boundary to source-map and browser CI. Production launch behavior, deadlines and assertions are unchanged; no package installation or public contract changes.

Executed validation

Pinned Node 24.22.1 / npm 11.16.0, Chromium 156.0.8078.47, isolated esbuild 0.25.10, two CPUs. The unchanged public source-map verifier checks real browser capture, CLI/stdio MCP point lookup and four nested-map cases:

Environment and command Outcome Wall / CPU Sampled family RSS
Synthetic inherited UNIX bus accepting connections without authenticating; original command CLI child deadline expired; incomplete task 58.28 / 9.77 s 1186.7 MiB
Same stalled bus; dbus-run-session -- node scripts/verify-browser-source-maps.mjs Complete, verified lineage empty 39.71 / 43.60 s 1735.5 MiB
Healthy inherited bus; original command Complete 35.50 / 39.87 s 1745.0 MiB
Healthy inherited bus; isolated command Complete 37.47 / 41.41 s 1752.8 MiB

The injected failure establishes isolation from an unresponsive ambient bus; it does not establish that this was the exclusive cause on the hosted runner. Healthy runs show no speedup. Each command starts fresh processes; OS page-cache temperature and agent tokens were not measured.

  • Rebased to latest main 2250e67bc, rebuilt successfully. Final isolated source-map verification passed (36.61 s wall / 40.07 s CPU / 1735.4 MiB); final isolated runtime verification passed (19.71 / 15.76 s / 1800.3 MiB).
  • Independent bus lifecycle probes: inherited unusable address replaced; child exits 0 and 42 both preserved exactly; the observed bus PID/start-time identity was gone after both sessions.
  • npm run check, git diff --check: passed (43.62 s wall / 78.13 s CPU / 2608.4 MiB, 2/6 static tasks cached).
  • npm run test:focused -- tests/boundary/filesystem/ciChangeScope.test.ts: 281 passed (74.75 / 80.77 s / 647.8 MiB).
  • Full local browser verifier on Chromium 156: the same initial storage-navigation protocol error occurs with and without isolation (46.31 / 47.06 s CPU / 2920.2 MiB; 50.32 / 52.51 s CPU / 2911.3 MiB). Both report owned-browser termination. The baseline CI browser suite passed on Chrome 155.0.8059.39; fixed Chrome 155 CI passed all three real browser verifiers, static/build and the final required gate at exact head 104d9a145. Greptile completed without findings; local diff/lifecycle review is complete. GitHub Codex review remains reported as running after 20 minutes and is not counted as a pass; any later actionable finding will be checked. Source-map and runtime checks on Chromium 156 passed.

RSS sums descendants at 100 ms intervals, can double-count shared pages and miss brief/reparented children, and is not a hard aggregate cap. Browser probes used a 3 GiB sampled stop and elapsed guards; no OOM occurred. Separate main failures in agentenv lineage and packed-Python tests are unchanged by these workflow-only edits and remain tracked for subsequent repairs. Overall main CI is not yet green.

Author readiness

Human owner: @gensokyo-dev

The owner explicitly delegated readiness declarations and agent-managed review. Inspection and execution were performed by Codex; no separate human inspection is claimed.

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/6999 **Author:** [@gensokyo-dev](https://github.com/gensokyo-dev) **Created:** 10/24/2026 **Status:** ✅ Merged **Merged:** 10/24/2026 **Merged by:** [@gensokyo-dev](https://github.com/gensokyo-dev) **Base:** `main` ← **Head:** `fix/browser-ci-session-bus-20261024` --- ### 📝 Commits (1) - [`104d9a1`](https://github.com/morluto/rea/commit/104d9a145498f611acd11c07ff6e86caa0bb81e7) fix(ci): isolate browser verifier D-Bus sessions ### 📊 Changes **3 files changed** (+6 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/real-browser.yml` (+2 -1) 📝 `.github/workflows/real-web-runtime.yml` (+2 -1) 📝 `.github/workflows/real-web-source-map.yml` (+2 -1) </details> ### 📄 Description ## Problem and outcome Main's source-map verifier twice exceeded Chrome's unchanged 20 s launch deadline, with D-Bus address/connection errors in the launch log ([latest failure](https://github.com/morluto/rea/actions/runs/40089760299/job/120860434641)). Run the three Linux Chromium verifier commands under `dbus-run-session` so each owns a fresh, working session bus. Replace runtime CI's partial `env -u` workaround and apply the same boundary to source-map and browser CI. Production launch behavior, deadlines and assertions are unchanged; no package installation or public contract changes. ## Executed validation Pinned Node 24.22.1 / npm 11.16.0, Chromium 156.0.8078.47, isolated esbuild 0.25.10, two CPUs. The unchanged public source-map verifier checks real browser capture, CLI/stdio MCP point lookup and four nested-map cases: | Environment and command | Outcome | Wall / CPU | Sampled family RSS | | --- | --- | --- | --- | | Synthetic inherited UNIX bus accepting connections without authenticating; original command | CLI child deadline expired; incomplete task | 58.28 / 9.77 s | 1186.7 MiB | | Same stalled bus; `dbus-run-session -- node scripts/verify-browser-source-maps.mjs` | Complete, verified lineage empty | 39.71 / 43.60 s | 1735.5 MiB | | Healthy inherited bus; original command | Complete | 35.50 / 39.87 s | 1745.0 MiB | | Healthy inherited bus; isolated command | Complete | 37.47 / 41.41 s | 1752.8 MiB | The injected failure establishes isolation from an unresponsive ambient bus; it does not establish that this was the exclusive cause on the hosted runner. Healthy runs show no speedup. Each command starts fresh processes; OS page-cache temperature and agent tokens were not measured. - Rebased to latest main `2250e67bc`, rebuilt successfully. Final isolated source-map verification passed (36.61 s wall / 40.07 s CPU / 1735.4 MiB); final isolated runtime verification passed (19.71 / 15.76 s / 1800.3 MiB). - Independent bus lifecycle probes: inherited unusable address replaced; child exits **0 and 42** both preserved exactly; the observed bus PID/start-time identity was gone after both sessions. - `npm run check`, `git diff --check`: passed (43.62 s wall / 78.13 s CPU / 2608.4 MiB, 2/6 static tasks cached). - `npm run test:focused -- tests/boundary/filesystem/ciChangeScope.test.ts`: **281 passed** (74.75 / 80.77 s / 647.8 MiB). - Full local browser verifier on Chromium 156: the same initial storage-navigation protocol error occurs with and without isolation (46.31 / 47.06 s CPU / 2920.2 MiB; 50.32 / 52.51 s CPU / 2911.3 MiB). Both report owned-browser termination. The baseline CI browser suite passed on Chrome 155.0.8059.39; [fixed Chrome 155 CI](https://github.com/morluto/rea/actions/runs/40091758351) passed all three real browser verifiers, static/build and the final required gate at exact head `104d9a145`. Greptile completed without findings; local diff/lifecycle review is complete. GitHub Codex review remains reported as running after 20 minutes and is not counted as a pass; any later actionable finding will be checked. Source-map and runtime checks on Chromium 156 passed. RSS sums descendants at 100 ms intervals, can double-count shared pages and miss brief/reparented children, and is not a hard aggregate cap. Browser probes used a 3 GiB sampled stop and elapsed guards; no OOM occurred. Separate main failures in agentenv lineage and packed-Python tests are unchanged by these workflow-only edits and remain tracked for subsequent repairs. Overall main CI is not yet green. ## Author readiness Human owner: @gensokyo-dev The owner explicitly delegated readiness declarations and agent-managed review. Inspection and execution were performed by Codex; no separate human inspection is claimed. - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-11-03 13:38:43 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#7561
No description provided.