You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maka.apache.org by as...@apache.org on 2026/10/15 05:20:38 UTC

(maka) 01/01: ci: diagnose Intel Runtime Host startup contention

This is an automated email from the ASF dual-hosted git repository.

Astro-Han pushed a commit to branch ci/intel-startup-probe
in repository https://gitbox.apache.org/repos/asf/maka.git

commit d5fc0cf5669e8779d961c827e0945ec6595df85f
Author: AstroHan <le...@outlook.com>
AuthorDate: Thu Oct 15 16:19:44 2026 +1100

    ci: diagnose Intel Runtime Host startup contention
    
    Generated-by: Codex
---
 .github/workflows/intel-startup-probe.yml   | 31 +++++++++++++++++++++++++++++
 scripts/qualify-released-cli-state-root.mjs |  3 +++
 2 files changed, 34 insertions(+)

diff --git a/.github/workflows/intel-startup-probe.yml b/.github/workflows/intel-startup-probe.yml
new file mode 100644
index 0000000000..667ddf93e1
--- /dev/null
+++ b/.github/workflows/intel-startup-probe.yml
@@ -0,0 +1,31 @@
+name: Intel startup probe
+on:
+  push:
+    branches: [ci/intel-startup-probe]
+permissions:
+  contents: read
+jobs:
+  probe:
+    runs-on: macos-15-intel
+    timeout-minutes: 30
+    steps:
+      - uses: actions/checkout@v5
+      - uses: actions/setup-node@v5
+        with:
+          node-version: '24'
+          cache: npm
+      - run: npm ci
+      - run: npm run build
+      - name: Compare parallel and isolated startup
+        run: |
+          node -p 'JSON.stringify({arch:process.arch,cpus:require("os").availableParallelism()})'
+          node --input-type=module <<'JS'
+          import { readFileSync } from 'node:fs';
+          import { spawnSync } from 'node:child_process';
+          const args = JSON.parse(readFileSync('package.json')).scripts['check:release'].split(' && ').at(-1).split(' ').slice(1);
+          for (const concurrency of [undefined, 1]) {
+            console.log(`PROBE concurrency=${concurrency ?? 'default'}`);
+            const result = spawnSync(process.execPath, concurrency ? ['--test-concurrency=1', ...args] : args, { stdio: 'inherit' });
+            console.log(`PROBE exit=${result.status}`);
+          }
+          JS
diff --git a/scripts/qualify-released-cli-state-root.mjs b/scripts/qualify-released-cli-state-root.mjs
index 5c04cb0696..72fa3a2819 100644
--- a/scripts/qualify-released-cli-state-root.mjs
+++ b/scripts/qualify-released-cli-state-root.mjs
@@ -588,7 +588,9 @@ function runRuntimeHostUntilVerifierStop(
       }, shutdownKillAfterMs);
     };
 
+    const startedAt = performance.now();
     const startupTimer = setTimeout(() => {
+      console.log(`PROBE startup timeout stdout=${stdout} stderr=${stderr}`);
       requestVerifierStop(
         new Error(`Released Runtime Host did not publish Ready within ${startupTimeoutMs} ms`),
       );
@@ -612,6 +614,7 @@ function runRuntimeHostUntilVerifierStop(
       if (ready || failure) return;
       ready = findJsonLine(stdout, (value) => value.event === 'runtime_host_ready');
       if (!ready) return;
+      console.log(`PROBE Ready after ${performance.now() - startedAt} ms`);
       clearTimeout(startupTimer);
       if (!ready.rootId || !ready.hostEpoch) {
         requestVerifierStop(


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org