Skip to content

Fix Workbench functional smoke heap limit - #376

Merged
100yenadmin merged 1 commit into
mainfrom
codex/workbench-functional-smoke-heap-20260622
Jun 22, 2026
Merged

Fix Workbench functional smoke heap limit#376
100yenadmin merged 1 commit into
mainfrom
codex/workbench-functional-smoke-heap-20260622

Conversation

@100yenadmin

@100yenadmin 100yenadmin commented Jun 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • match the existing build workflow heap limit for the Workbench functional-smoke build step
  • keeps the smoke lane in staging/unpacked-app mode; no release packaging or notarization

Evidence

  • First main-dispatched smoke run failed during electron-vite build with FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory.
  • Existing PR/build workflows already set NODE_OPTIONS=--max-old-space-size=8192 for build steps.

Validation

  • actionlint .github/workflows/workbench-functional-smoke.yml
  • BUN_INSTALL_CACHE_DIR=/Volumes/LEXAR/Codex/.cache/bun bunx oxfmt@0.41.0 --check .github/workflows/workbench-functional-smoke.yml
  • git diff --check

Refs #372, #363, #374

Summary by CodeRabbit

  • Chores
    • Improved build process stability by optimizing resource allocation during the build phase.

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The workbench-functional-smoke.yml workflow's "Build unpacked app only" step gains an env block setting NODE_OPTIONS=--max-old-space-size=8192, raising the Node.js heap limit to 8 GB for that build step.

Changes

CI Memory Limit

Layer / File(s) Summary
NODE_OPTIONS heap increase in build step
.github/workflows/workbench-functional-smoke.yml
Adds env: NODE_OPTIONS: --max-old-space-size=8192 to the "Build unpacked app only" step, raising the Node.js old-space heap to 8192 MB.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • 100yenadmin/evaOS-GUI#375: Introduces the same workbench-functional-smoke.yml workflow containing the "Build unpacked app only" step that this PR modifies.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically identifies the main change: fixing a heap limit issue in the Workbench functional smoke workflow.
Description check ✅ Passed The description provides context (heap allocation failure), solution (NODE_OPTIONS configuration), validation steps, and related issue references, but lacks explicit coverage of the template's testing and type-of-change sections.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/workbench-functional-smoke-heap-20260622

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

@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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/workbench-functional-smoke.yml (1)

112-119: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Consider adding a comment to explain the NODE_OPTIONS setting.

The NODE_OPTIONS environment variable correctly addresses the heap memory allocation failure and aligns with the pattern in .github/workflows/_build-reusable.yml (which includes explanatory comments). Adding a comment here would improve consistency and maintainability across the workflow files.

✨ Suggested improvement
      - name: Build unpacked app only
        shell: bash
        env:
+         # Node.js memory limit for vite bundling (prevents OOM during build)
          NODE_OPTIONS: '--max-old-space-size=8192'
        run: |
🤖 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 @.github/workflows/workbench-functional-smoke.yml around lines 112 - 119, Add
a comment above the NODE_OPTIONS environment variable in the "Build unpacked app
only" step to explain that the max-old-space-size=8192 setting is needed to
prevent heap memory allocation failures during the build process. This will
improve consistency with the pattern used in the
.github/workflows/_build-reusable.yml file and make the purpose of this
configuration clear to future maintainers.
🤖 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.

Outside diff comments:
In @.github/workflows/workbench-functional-smoke.yml:
- Around line 112-119: Add a comment above the NODE_OPTIONS environment variable
in the "Build unpacked app only" step to explain that the
max-old-space-size=8192 setting is needed to prevent heap memory allocation
failures during the build process. This will improve consistency with the
pattern used in the .github/workflows/_build-reusable.yml file and make the
purpose of this configuration clear to future maintainers.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: a848c4e5-6eb3-4865-8754-9d08f461d64c

📥 Commits

Reviewing files that changed from the base of the PR and between b908359 and c945db0.

📒 Files selected for processing (1)
  • .github/workflows/workbench-functional-smoke.yml
📜 Review details
⏰ Context from checks skipped due to timeout. (11)
  • GitHub Check: Coverage Test
  • GitHub Check: Unit Tests (ubuntu-latest)
  • GitHub Check: Unit Tests (windows-2022)
  • GitHub Check: Build Test (macos-x64)
  • GitHub Check: Build Test (linux)
  • GitHub Check: Build Test (windows-x64)
  • GitHub Check: Code Quality
  • GitHub Check: Build Test (macos-arm64)
  • GitHub Check: Build Test (windows-arm64)
  • GitHub Check: I18n Check
  • GitHub Check: Unit Tests (macos-14)
🔇 Additional comments (1)
.github/workflows/workbench-functional-smoke.yml (1)

114-115: LGTM! The NODE_OPTIONS setting correctly fixes the heap allocation failure.

The change:

  • Adds the correct heap size limit (8192 MB) matching existing build workflows
  • Is properly scoped to this step only
  • Will be correctly propagated to the Node subprocess via environment inheritance
  • Aligns with the established pattern in _build-reusable.yml

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