Skip to content

fix(utils): add silent flag to executeProcess - #1144

Closed
hanna-skryl wants to merge 1 commit into
mainfrom
fix/concurrent-spinner-error
Closed

fix(utils): add silent flag to executeProcess#1144
hanna-skryl wants to merge 1 commit into
mainfrom
fix/concurrent-spinner-error

Conversation

@hanna-skryl

Copy link
Copy Markdown
Collaborator

Problem

The Axe plugin failed during its first test run in an external repository:

Running Axe accessibility checks for 1 URL...
Testing URL 1/1: https://example.com
Checking Chromium browser installation...
Axe execution failed for https://example.com: Internal Logger error - concurrent spinners are not supported

Root cause: The logger only supports one spinner at a time. When plugins execute concurrently, the Axe plugin's browser installation attempts to start a second spinner while another plugin's spinner is active, triggering the error.

Solution

Added a silent flag to executeProcess to bypass the logger spinner for background operations:

awaitexecuteProcess({command: 'npx',args: ['playwright-core','install','chromium'],silent: true,});

Testing

  1. Reproduced the error by running multiple Code PushUp plugins in the external repository
  2. Applied the fix by modifying executeProcess source code
  3. Verified the execution succeeded without the concurrent spinner error

@nx-cloud

nx-cloudBot commented Nov 13, 2025

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit 75993eb

CommandStatusDurationResult
nx code-pushup --nx-bail -- compare✅ Succeeded56sView ↗
nx code-pushup --nx-bail --✅ Succeeded1m 3sView ↗
nx code-pushup --nx-bail -- print-config --outp...✅ Succeeded4m 18sView ↗

☁️ Nx Cloud last updated this comment at 2025-11-13 20:38:13 UTC

Comment threadpackages/utils/src/lib/execute-process.ts Dismissed
@pkg-pr-new

Copy link
Copy Markdown

Open in StackBlitz

@code-pushup/ci

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/ci@1144

@code-pushup/cli

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/cli@1144

@code-pushup/core

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/core@1144

@code-pushup/create-cli

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/create-cli@1144

@code-pushup/models

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/models@1144

@code-pushup/nx-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/nx-plugin@1144

@code-pushup/axe-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/axe-plugin@1144

@code-pushup/coverage-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/coverage-plugin@1144

@code-pushup/eslint-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/eslint-plugin@1144

@code-pushup/js-packages-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/js-packages-plugin@1144

@code-pushup/jsdocs-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/jsdocs-plugin@1144

@code-pushup/lighthouse-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/lighthouse-plugin@1144

@code-pushup/typescript-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/typescript-plugin@1144

@code-pushup/utils

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/utils@1144

@code-pushup/models-transformers

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/models-transformers@1144

commit: 75993eb

@github-actions

Copy link
Copy Markdown
Contributor

Code PushUp

🤨 Code PushUp report has both improvements and regressions – compared current commit 1ef1c5b with previous commit c90eea2.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Categories

🏷️ Category⭐ Previous score⭐ Current score🔄 Score change
Performance🔴 35🔴 31↓ −4.6
Code coverage🟡 88🟡 88↑ +0.1
Security🟡 56🟡 56
Updates🟡 75🟡 75
Accessibility🟢 92🟢 92
Best Practices🟢 100🟢 100
SEO🟡 61🟡 61
Type Safety🟢 100🟢 100
Bug prevention🟢 100🟢 100
Miscellaneous🟢 100🟢 100
Code style🟢 100🟢 100
Documentation🔴 35🔴 35
👍 1 group improved, 👎 1 group regressed, 👍 1 audit improved, 👎 4 audits regressed, 14 audits changed without impacting score

🗃️ Groups

🔌 Plugin🗃️ Group⭐ Previous score⭐ Current score🔄 Score change
LighthousePerformance🔴 35🔴 31↓ −4.6
Code coverageCode coverage metrics🟡 88🟡 88↑ +0.1

21 other groups are unchanged.

🛡️ Audits

🔌 Plugin🛡️ Audit📏 Previous value📏 Current value🔄 Value change
LighthouseFirst Contentful Paint🟨 3.0 s🟥 3.6 s↑ +21.1 %
LighthouseSpeed Index🟥 6.6 s🟥 7.9 s↑ +20.4 %
LighthouseTotal Blocking Time🟥 2,430 ms🟥 3,700 ms↑ +52.6 %
LighthouseTime to Interactive🟥 13.3 s🟥 14.2 s↑ +6.9 %
Code coverageFunction coverage🟨 89.7 %🟨 89.7 %↑ +0.1 %
LighthouseMinimizes main-thread work🟥 13.3 s🟥 15.6 s↑ +17.2 %
LighthouseJavaScript execution time🟥 4.9 s🟥 6.6 s↑ +33.1 %
LighthouseMetrics🟩 100%🟩 100%↑ +6.9 %
LighthouseMax Potential First Input Delay🟥 1,060 ms🟥 1,800 ms↑ +69.4 %
LighthouseLargest Contentful Paint🟥 11.3 s🟥 12.0 s↑ +6.5 %
LighthouseServer Backend Latencies🟩 1,230 ms🟩 830 ms↓ −32.4 %
LighthouseUses efficient cache policy on static assets🟨 30 resources found🟨 30 resources found↑ +0.1 %
LighthouseRemove duplicate modules in JavaScript bundles🟥 Potential savings of 102 KiB🟥 Potential savings of 98 KiB↓ −38.8 %
LighthouseInitial server response time was short🟩 Root document took 560 ms🟩 Root document took 420 ms↓ −25.1 %
LighthouseReduce unused JavaScript🟥 Potential savings of 183 KiB🟥 Potential savings of 179 KiB↓ −7.1 %
LighthouseReduce unused CSS🟥 Potential savings of 105 KiB🟥 Potential savings of 105 KiB↓ −8.2 %
LighthouseNetwork Round Trip Times🟩 50 ms🟩 80 ms↑ +70.7 %
LighthouseAvoids enormous network payloads🟩 Total size was 2,034 KiB🟩 Total size was 2,034 KiB↑ +0.1 %
Code coverageLine coverage🟨 84.5 %🟨 84.5 %↑ +0.1 %

659 other audits are unchanged.

@hanna-skryl
hanna-skryl marked this pull request as ready for review November 13, 2025 20:39
@matejchalk

Copy link
Copy Markdown
Collaborator

Hi, you've run into a bug I discovered recently. The plugins are supposed to be run sequentially. I designed the logger groups and spinners based on this assumption, then I found out that it was (probably mistakenly) refactored to concurrent execution some time ago. 😅

I've opened a PR to prevent concurrent execution. This should enable the Axe plugin to log processes just like any other plugin. The problem isn't specific to Axe, any 2 plugins that execute some shell command would run into the same conflict.

@hanna-skryl

Copy link
Copy Markdown
CollaboratorAuthor

Closing this PR in favor of the fix that restores sequential plugin execution.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@hanna-skryl@matejchalk@github-advanced-security