Skip to content

Update workflows and documentation for pnpm exec usage#33194

Merged
alexslavr merged 1 commit into25_2from
lavrov/pnpm-exec-25_2
Apr 9, 2026
Merged

Update workflows and documentation for pnpm exec usage#33194
alexslavr merged 1 commit into25_2from
lavrov/pnpm-exec-25_2

Conversation

@alexslavr
Copy link
Copy Markdown
Contributor

Cherry-pick of #33186

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates repository automation and documentation to prefer pnpm exec over pnpx when invoking nx, aligning CI and local guidance with pnpm’s recommended execution pattern.

Changes:

  • Replaced pnpx nx ... with pnpm exec nx ... in multiple GitHub Actions workflows.
  • Updated monorepo build script (tools/scripts/build-all.ts) to use pnpm exec nx ....
  • Updated demos tooling and repository documentation to reflect the new invocation style.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
tools/scripts/build-all.ts Switches Nx invocations in the build-all script from pnpx to pnpm exec.
apps/demos/package.json Updates demos lint script to use pnpm exec nx ....
.github/workflows/wrapper_tests.yml Updates wrapper CI steps to call Nx via pnpm exec.
.github/workflows/themebuilder_tests.yml Updates themebuilder build/test steps to call Nx via pnpm exec.
.github/workflows/testcafe_tests.yml Updates DevExtreme build steps for TestCafe workflow to pnpm exec nx ....
.github/workflows/styles.yml Updates SCSS test command to pnpm exec nx ....
.github/workflows/run-testcafe-on-gh-pages.yml Updates TestCafe invocation to pnpm exec nx ....
.github/workflows/renovation.yml Updates Jest Nx target invocation to pnpm exec nx ....
.github/workflows/qunit_tests.yml Updates SystemJS build target invocation to pnpm exec nx ....
.github/workflows/playgrounds_tests.yml Updates playground build/pack/compile Nx invocations to pnpm exec nx ....
.github/workflows/lint.yml Updates Nx-based lint workflow steps to pnpm exec nx ....
.github/workflows/demos_visual_tests.yml Updates demos build/lint/test Nx invocations to pnpm exec nx ....
.github/workflows/demos_unit_tests.yml Updates demos unit test Nx invocation to pnpm exec nx ....
.github/workflows/default_workflow.yml Updates default workflow nx run-many call to pnpm exec nx ....
.github/copilot-instructions.md Updates documented commands from pnpx nx ... to pnpm exec nx ....
Comments suppressed due to low confidence (1)

.github/workflows/demos_visual_tests.yml:253

  • This step runs pnpm exec nx prepare-bundles from apps/demos, but that workspace package does not include nx in its dependencies. Consider using pnpm -w exec nx ... (or running Nx from the repo root) so the nx binary is resolved reliably.
      - name: Prepare bundles
        working-directory: apps/demos
        run: pnpm exec nx prepare-bundles

      - name: Demos - Run tsc
        working-directory: apps/demos
        run: pnpm exec tsc --noEmit

Comment thread apps/demos/package.json
"lint-demos": "eslint ./Demos",
"lint-css": "stylelint **/*.{css,vue}",
"lint-non-demos": "pnpx nx run-many -t lint-js lint-css lint-html -p devextreme-demos",
"lint-non-demos": "pnpm exec nx run-many -t lint-js lint-css lint-html -p devextreme-demos",
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apps/demos does not list nx as a dependency/devDependency, so pnpm exec nx ... may fail when this script is run from that workspace package. To ensure the nx binary resolves from the workspace root (where it is declared), consider switching this to pnpm -w exec nx ... (or moving the Nx invocation to a root-level script).

Suggested change
"lint-non-demos": "pnpm exec nx run-many -t lint-js lint-css lint-html -p devextreme-demos",
"lint-non-demos": "pnpm -w exec nx run-many -t lint-js lint-css lint-html -p devextreme-demos",

Copilot uses AI. Check for mistakes.
# DISABLE_DEMO_TEST_SETTINGS: comparison-options # Uncomment to ignore the `comparison-options` field
CI_ENV: true # The `ignore` field in the visualtestrc.json should be disabled when running test locally
run: pnpx nx test-testcafe
run: pnpm exec nx test-testcafe
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step runs pnpm exec nx ... from devextreme/apps/demos, but that workspace package does not declare nx as a dependency. Consider using pnpm -w exec nx ... (or running the command from the repo root) so the nx binary is guaranteed to be available.

Suggested change
run: pnpm exec nx test-testcafe
run: pnpm -w exec nx test-testcafe

Copilot uses AI. Check for mistakes.
Comment on lines 67 to +69
- name: Run unit tests
working-directory: apps/demos
run: pnpx nx test
run: pnpm exec nx test
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This job runs pnpm exec nx test from apps/demos, but devextreme-demos does not declare nx as a dependency. To avoid CI failures, run Nx from the workspace root (e.g. pnpm -w exec nx test devextreme-demos) or remove the working-directory and execute from repo root.

Copilot uses AI. Check for mistakes.
Comment on lines 382 to +388
- name: Run lint on all demos
if: needs.determine-framework-tests-scope.outputs.framework-tests-scope == 'all'
working-directory: apps/demos
env:
DEBUG: 'eslint:cli-engine,stylelint:standalone'
NODE_OPTIONS: --max-old-space-size=8192
run: pnpx nx lint
run: pnpm exec nx lint
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pnpm exec nx lint is executed with working-directory: apps/demos, but apps/demos does not declare nx. To ensure Nx is available in CI, run it from the workspace root (e.g. pnpm -w exec nx lint devextreme-demos) or execute the step from repo root.

Copilot uses AI. Check for mistakes.
# DISABLE_DEMO_TEST_SETTINGS: comparison-options # Uncomment to ignore the `comparison-options` field
CI_ENV: true # The `ignore` field in the visualtestrc.json should be disabled when running test locally
run: pnpx nx test-testcafe
run: pnpm exec nx test-testcafe
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This TestCafe step runs pnpm exec nx test-testcafe from apps/demos, but that workspace package does not list nx as a dependency. Consider switching to pnpm -w exec nx ... (or running from workspace root) to avoid command-not-found failures.

Suggested change
run: pnpm exec nx test-testcafe
run: pnpm -w exec nx test-testcafe

Copilot uses AI. Check for mistakes.
Comment on lines 65 to +70
- name: Build
working-directory: ./packages/devextreme
shell: bash
env:
DEVEXTREME_TEST_CI: "true"
run: pnpx nx build:systemjs
run: pnpm exec nx build:systemjs
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step runs pnpm exec nx build:systemjs from packages/devextreme, but that package doesn’t declare nx as a dependency. To avoid CI breakage, run Nx from the workspace root (e.g. pnpm -w exec nx build:systemjs) or remove the working-directory for this Nx call.

Copilot uses AI. Check for mistakes.
Comment on lines 56 to 59
- name: Build
working-directory: ./packages/devextreme
run: pnpx nx build
run: pnpm exec nx build

Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step runs pnpm exec nx build from packages/devextreme, but that package doesn’t declare nx. Consider running Nx from the workspace root (pnpm -w exec nx build ...) or executing from repo root to ensure the nx binary is found.

Copilot uses AI. Check for mistakes.
- name: Build
working-directory: ./packages/devextreme-${{ matrix.ARGS.platform }}
run: pnpx nx pack
run: pnpm exec nx pack
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step runs pnpm exec nx pack from packages/devextreme-${{ matrix.ARGS.platform }}, but those packages don’t declare nx as a dependency. Use pnpm -w exec nx pack ... (or run from repo root) so Nx resolution is consistent.

Suggested change
run: pnpm exec nx pack
run: pnpm -w exec nx pack

Copilot uses AI. Check for mistakes.
- name: Check sources compilation
working-directory: ./apps/${{ matrix.ARGS.platform }}
run: pnpx nx build
run: pnpm exec nx build
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step runs pnpm exec nx build from apps/${{ matrix.ARGS.platform }}, but the playground apps don’t declare nx as a dependency. Consider executing Nx from the workspace root (pnpm -w exec nx build ...) or running from repo root.

Suggested change
run: pnpm exec nx build
run: pnpm -w exec nx build

Copilot uses AI. Check for mistakes.
```bash
# From e2e/testcafe-devextreme
pnpx nx run testcafe-devextreme:test
pnpm exec nx run testcafe-devextreme:test
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The instructions say to run this from e2e/testcafe-devextreme, but that workspace package doesn’t declare nx as a dependency. To avoid “command not found”, either update the text to run the command from the repo root, or use pnpm -w exec nx ... explicitly.

Suggested change
pnpm exec nx run testcafe-devextreme:test
pnpm -w exec nx run testcafe-devextreme:test

Copilot uses AI. Check for mistakes.
@alexslavr alexslavr merged commit e6fecdb into 25_2 Apr 9, 2026
100 of 101 checks passed
@alexslavr alexslavr deleted the lavrov/pnpm-exec-25_2 branch April 9, 2026 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants