ci: run integration tests in isolated-mode (4-way parallel), mirroring dasImgui#25
Merged
Merged
Conversation
…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>
There was a problem hiding this comment.
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
dastestwith--isolated-modeand--isolated-mode-threads 4in the integration test step. - Add workflow comments documenting the port/worker-index rationale and why no
--excludefilters are currently needed.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Mirror dasImgui's
tests.ymltest-execution step into the node-editor CI: run the integration suite with--isolated-mode --isolated-mode-threads 4instead 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_appis a thin wrapper over dasImgui'swith_imgui_app, which already reads--worker-indexand derives a per-worker live-API port (9090 + N), passed to the spawneddaslang-liveas--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
--excludeentries. dasImgui excludesglfw_synth/key_hud(GLFW event-queue synth tests, can't run headless) and Windows-onlyinputs_*(>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-lateststays disabled — already disabled in the node-editor matrix (the0xC0000409 __fastfailissue), matching dasImgui. No change.docs.ymlunchanged — 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_moduleto subprocess workers — CI sidesteps that withdaspkg install --global.🤖 Generated with Claude Code