Skip to content

[CI] test: load GitHub operations from their public modules - #26384

Merged
nwparker merged 2 commits into
mainfrom
nwparker/github-test-public-leaf-imports
Oct 8, 2026
Merged

nwparker merged 2 commits into
mainfrom
nwparker/github-test-public-leaf-imports

Conversation

@nwparker

@nwparker nwparker commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 26 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​62 $\color{#cf222e}{\Huge{\mathbf{−}}}$​51 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​11
Prod 1 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​4 $\color{#cf222e}{\Huge{\mathbf{−}}}$​6 $\color{#cf222e}{\Huge{\mathbf{−}}}$​2

ELI5

GitHub tests repeatedly load the full client even when they exercise one operation. Import each operation from its existing public module so those tests do less startup work. The complete 27-file workload takes 16.7% less time in the measured trial.

What Changed

Change imports in 26 existing test files and their existing test harness. Also synchronize two entries in the generated English runtime catalog after upstream #26422 removed their literal-default call sites; this lets the unchanged catalog check pass. Each imported function still comes from the module that implements it. The separate public-client test remains, as do all 292 original cases, assertion bodies, mocks, deadlines and the canonical cache reset added in #26346. No production module, dependency or runner setting changes.

Why

Use the existing operation exports to avoid repeatedly loading unrelated GitHub operations. This keeps the existing mock boundaries and test isolation. Sharing state between files or removing setup guards would weaken coverage; adding another implementation or test runner would increase maintenance.

Linked Issue

Related measured test-suite work: #26346, #26360 and #26373.

Visual Proof

N/A — test imports only; no visual or interaction change.

Testing

Compatibility run 37707262849 passed all eight original/candidate commands under Bun 1.4.2 and actual Node 24.21.0 with shuffle seeds 104729 and 130363. Each retained all 27 nonempty test files and the exact same 292 passed case identities, with no skips. Runtime routes, errors, four workers, isolation, all six setup files, source hashes and normal child exits were checked independently.

Timing run 37709277511 retained every whole pnpm test command in before/after, after/before, before/after order:

Pair Before After Less time
1 7.906468580s 6.621113918s 16.26%
2 7.905717145s 6.697286909s 15.29%
3 7.974329529s 6.493986316s 18.56%
Mean 7.928838418s 6.604129048s 16.71%

All three pairs improve, including the first commands: 1.20× faster for this complete 27-file cohort. There was no warmup, retry or discarded sample. All six commands passed the same original 292 cases on one held Linux ARM host with Vitest 5.0.3, four workers, isolation, six setup files and the Vitest filesystem module cache disabled. Shared OS and Bun transpiler caches can warm between counted commands. This scoped measurement does not establish shipping CI latency or the overall 2× full-suite goal.

The measured source was 1f790332303926ef8bbec86006dc12ee8654865d, after the canonical cache-reset fix merged. All 27 changed files retain the exact measured before/after bytes on current-main parent 00a82505c46d3beb8d7af0df293e88cc363dd394, repaired head 0bd619df290c01cd66eae3a868e645e5b6391c90. All 370 source guards were checked. Two intervening changes are inherited: the SQLite registry routes the unrelated Pi launch-resolution test to Node, and the WSL interactive fish launch adds the canonical Claude shell wrapper. The quoting, argv and captured-shell functions used by these tests remain unchanged. The prior shipping head passed 37715370766; the fresh full shipping run 37727635399 passed on this repaired head and its byte-identical merge tree, including measured helper improvement #26396.

The first combined run 37726640344 stopped before tests because #26422 removed two translation defaults while the runtime catalog still omitted those English entries. Actual Node and Bun both reproduced the same two missing keys. The existing canonical generator adds exactly those two entries, with no removal or changed value. Both runtimes now pass the full catalog verification, and formatting passes. The failed CI run and its original log remain retained; it supplies no speed evidence.

The original full required-CI baseline is 37443159334: 18m09s from run creation to the successful verify check. The overall target is 9m04.5s. The fresh normal full run 37727635399 took 12m37s, including setup, queues and all required checks: 30.5% less time than the original observed baseline. Its slowest unit test step took 5m10s, versus the original 10m55s: 52.7% less time (2.11×). All ten unit shards, relay integration, Linux/Windows packaging, static analysis, typecheck and required verify passed; path-ineligible contract lanes retain their normal skips. The final verify job still waited 79 seconds to start. The preceding passing shipping run 37715370766 took 18m10s. These are descriptive whole-run observations across evolving source/workloads and variable runner queues, not a matched attribution to this small import change. The overall 9m04.5s target is not yet met.

The preceding shipping run 37711195460 passed all ten unit shards but had 13 passing and three failing relay cases after an upstream minimum connection-age change. Fixture repair #26389 is now merged, with all sixteen original relay cases passing and full CI green. This branch was rebased onto that repaired main; all 27 changed before/after file bytes remain exactly identical to the measured candidate. The blocked run remains retained.

Earlier qualification attempts on the source before #26346 remain retained. The original and candidate could both fail the merge-queue case because the summary cache was not cleared. The cache fix is present in both arms of this new comparison; those earlier failures are not treated as speed gains or discarded timing samples.

  • Original test cases, bodies, mock seams and public-client test retained; no extra test implementation.
  • Local formatting, changed-code checks and Node typecheck; no local native/Electron tests launched.
  • Fresh full shipping-head CI passed, including required verify, before merge.

Review

Root and independent source reviews verified existing public exports and preserved callbacks/assertions. Two reviewers independently checked all eight compatibility maps and all six raw timing maps, settings, runtime routes, process evidence and arithmetic. Fresh full CI passed. The current-head bot review covers 0bd619df and reports no actionable comments; there are no unresolved review threads.

Agent skill upstream boundary

  • Not applicable; no upstream skill source copied.

Notes

Production execution and GitHub/GitLab provider behavior are unchanged. Existing SSH, Windows and folder-workspace expectations remain in the same tests. Native/runtime contracts keep their configured actual Node routes.

Checklist

  • Focused change with before/after measurements, mechanism and alternatives explained.
  • N/A visual proof explained; existing coverage retained.
  • Self-reviewed and independently checked; cross-platform and SSH considered.
  • Shipping-head CI and actionable review disposition complete before merge.

@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8c11e1f6-9b04-4e06-9313-49b3cbe8e73a
📥 Commits

Reviewing files that changed from the base of the PR and between 63754a8 and 0bd619d.

📒 Files selected for processing (1)
  • src/renderer/src/i18n/en-runtime-required.json

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review.


📝 Walkthrough

Walkthrough

GitHub test files and the shared test harness now import client functions and cache-reset helpers from their implementation modules instead of the client barrel. The test cases and assertions are unchanged. English runtime translations add messages for a locally deleted branch and a deleted item.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to 0bd61

No user-facing regression is established. The reported compatibility runs passed, and the reviewed changes present no concrete blocker; fresh shipping-head CI remains part of normal readiness.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
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.
Title check ✅ Passed The title clearly describes the main change: updating tests to import GitHub operations from their public modules.
Description check ✅ Passed The description is detailed, focused, and covers the required sections, including the change, reason, testing, visual proof, review status, compatibility considerations, and checklist. It links relate…
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@nwparker
nwparker force-pushed the nwparker/github-test-public-leaf-imports branch from 1856e66 to 63754a8 Compare October 8, 2026 04:15
@nwparker
nwparker merged commit 61de2d8 into main Oct 8, 2026
35 checks passed
@nwparker nwparker changed the title test: load GitHub operations from their public modules [CI] test: load GitHub operations from their public modules Oct 9, 2026
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.

1 participant