Skip to content

ci: run integration tests in isolated-mode (4-way parallel), mirroring dasImgui#25

Merged
borisbat merged 1 commit into
masterfrom
bbatkin/ci-isolated-mode-mirror
Jun 4, 2026
Merged

ci: run integration tests in isolated-mode (4-way parallel), mirroring dasImgui#25
borisbat merged 1 commit into
masterfrom
bbatkin/ci-isolated-mode-mirror

Conversation

@borisbat

@borisbat borisbat commented Jun 4, 2026

Copy link
Copy Markdown
Owner

What

Mirror dasImgui's tests.yml test-execution step into the node-editor CI: run the integration suite with --isolated-mode --isolated-mode-threads 4 instead of single-threaded.

Why it's safe

Each test runs in its own subprocess (4 in parallel). dastest brands each subprocess argv with --worker-index N (0..3). with_node_editor_app is a thin wrapper over dasImgui's with_imgui_app, which already reads --worker-index and derives a per-worker live-API port (9090 + N), passed to the spawned daslang-live as --live-port. So the 4 workers bind ports 9090/9091/9092/9093 and don't race for 9090 — the no-collision parallelism is inherited for free. dasImgui CI already runs this exact spawn path green.

Scope notes

  • No --exclude entries. dasImgui excludes glfw_synth/key_hud (GLFW event-queue synth tests, can't run headless) and Windows-only inputs_* (>16-POST libhv stall). The node-editor suite has none of those — every test drives synth IO through the harness and stays within libhv's per-subprocess POST ceiling.
  • windows-latest stays disabled — already disabled in the node-editor matrix (the 0xC0000409 __fastfail issue), matching dasImgui. No change.
  • docs.yml unchanged — node-editor's is already complete and ahead of dasImgui's (it has sccache wired).

Verification

Local headless run on master (single-threaded, the pre-change config): 23 tests, 23 passed, 0 failed, 0 errors in 116.8s. The parallelism is a CI wall-time win (~3x); local isolated-mode isn't reproducible because daslang tooling doesn't propagate -load_module to subprocess workers — CI sidesteps that with daspkg install --global.

🤖 Generated with Claude Code

…g dasImgui

dasImgui's tests.yml runs the integration suite with --isolated-mode
--isolated-mode-threads 4 (each test in its own subprocess, 4 in parallel on
per-worker live-API ports 9090..9093). The node-editor suite was still
single-threaded. with_node_editor_app is a thin wrapper over dasImgui's
with_imgui_app, which already reads --worker-index and derives the per-worker
--live-port, so node-editor inherits the no-collision parallelism for free.

No --exclude entries: the node-editor suite has no glfw_synth/key_hud GLFW
event-queue tests and no >16-POST Windows-stall tests, so dasImgui's exclude
list does not apply. windows-latest stays disabled (already, matching dasImgui).

Verified locally: 23/23 integration tests pass headless (116.8s single-threaded).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

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 updates the GitHub Actions integration-test workflow to run the dasImguiNodeEditor integration suite in dastest isolated mode with 4 parallel worker subprocesses, aligning CI execution behavior with dasImgui’s CI and reducing wall-clock time.

Changes:

  • Run dastest with --isolated-mode and --isolated-mode-threads 4 in the integration test step.
  • Add workflow comments documenting the port/worker-index rationale and why no --exclude filters are currently needed.

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

@borisbat borisbat merged commit 3071263 into master Jun 4, 2026
6 checks passed
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