Skip to content

CI: use cache#34105

Open
EugeniyKiyashko wants to merge 9 commits into
DevExpress:26_1from
EugeniyKiyashko:26_1_nx_cache
Open

CI: use cache#34105
EugeniyKiyashko wants to merge 9 commits into
DevExpress:26_1from
EugeniyKiyashko:26_1_nx_cache

Conversation

@EugeniyKiyashko

Copy link
Copy Markdown
Contributor

No description provided.

@EugeniyKiyashko EugeniyKiyashko self-assigned this Jun 23, 2026
Copilot AI review requested due to automatic review settings June 23, 2026 20:04
@EugeniyKiyashko EugeniyKiyashko requested a review from a team as a code owner June 23, 2026 20:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Enable Nx local caching in CI/build scripts to speed up repeated builds and test runs across the DevExtreme monorepo workflows.

Changes:

  • Removed --skipNxCache from build scripts and enabled caching for key Nx targets.
  • Added .nx/cache persistence via GitHub Actions cache in multiple workflows and introduced workflow-level concurrency cancellation for some pipelines.
  • Refined demo lint targets/inputs and increased default TestCafe concurrency.

Reviewed changes

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

Show a summary per file
File Description
tools/scripts/build-all.ts Removes forced cache bypass for build-dist and themebuilder build to allow Nx caching.
packages/devextreme/project.json Marks build and build-dist targets as cacheable.
packages/devextreme-themebuilder/project.json Expands inputs/outputs for themebuilder build and enables caching.
e2e/testcafe-devextreme/runner.ts Increases default TestCafe runner concurrency.
apps/demos/project.json Refines lint target inputs, adds lint-demos, and excludes large artifact folders from lint-html inputs.
apps/demos/package.json Switches lint to Nx run-many including the new lint-demos target.
apps/demos/.prettierignore Ignores testing/artifacts to avoid formatting generated artifacts.
.github/workflows/wrapper_tests.yml Adds concurrency cancellation and Nx cache restore/save.
.github/workflows/wrapper_tests_e2e.yml Adds Nx cache restore/save.
.github/workflows/visual-tests-demos.yml Adds Nx cache restore/save; adjusts jQuery matrix generation and concurrency.
.github/workflows/testcafe_tests.yml Adds Nx cache restore/save; generates matrix dynamically and tweaks TestCafe args.
.github/workflows/themebuilder_tests.yml Adds Nx cache restore/save.
.github/workflows/styles.yml Adds Nx cache restore/save.
.github/workflows/renovation.yml Adds Nx cache restore/save.
.github/workflows/qunit_tests.yml Adds Nx cache restore/save.
.github/workflows/publish-demos.yml Adds Nx cache restore/save.
.github/workflows/pr-storybook-deploy.yml Splits pnpm vs Nx cache steps and adds Nx cache restore/save.
.github/workflows/pr-storybook-deploy-manual.yml Adds Nx cache restore/save.
.github/workflows/playgrounds_tests.yml Adds Nx cache restore/save to build and matrix test jobs.
.github/workflows/lint.yml Adds Nx cache restore/save across lint jobs.
.github/workflows/demos_unit_tests.yml Adds Nx cache restore/save.
.github/workflows/default_workflow.yml Adds Nx cache restore/save.
.github/workflows/build_all.yml Adds concurrency cancellation and Nx cache restore/save.

Comment thread .github/workflows/wrapper_tests.yml Outdated
Comment thread .github/workflows/wrapper_tests.yml Outdated
Comment thread .github/workflows/wrapper_tests_e2e.yml Outdated
Comment thread .github/workflows/build_all.yml Outdated
Comment thread .github/workflows/themebuilder_tests.yml Outdated
Comment thread .github/workflows/default_workflow.yml Outdated
Comment thread .github/workflows/lint.yml Outdated
Comment thread .github/workflows/lint.yml Outdated
Comment thread .github/workflows/lint.yml Outdated
Comment thread .github/workflows/lint.yml Outdated
Copilot AI review requested due to automatic review settings June 23, 2026 21:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

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

Comment thread apps/demos/project.json
Comment on lines +102 to 106
"{projectRoot}/**/*.css",
"{projectRoot}/**/*.vue",
"{projectRoot}/.stylelintrc.json",
"{projectRoot}/.stylelintignore"
]
Comment thread .github/workflows/testcafe_tests.yml Outdated
Comment on lines +254 to +259
TZVAL="${{ matrix.timezone }}"
[ -z "$TZVAL" ] && TZVAL="GMT"
# A job stays green if it has no more than --deferThreshold failures:
# those tests are recorded and handed to the dedicated "retry-unstable"
# job. More failures than that fail the job as a real regression.
all_args="--browsers=chrome:devextreme-shr2 --componentFolder ${{ matrix.componentFolder }} $CONCURRENCY $INDICES $PLATFORM $THEME $CACHE --deferThreshold 3 --timezone $TZVAL"
Copilot AI review requested due to automatic review settings June 23, 2026 23:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

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

Comment on lines 69 to 75
- uses: actions/cache@v5
name: Setup pnpm cache
with:
path: |
${{ env.STORE_PATH }}
.nx/cache
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-cache-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-cache
Comment thread .github/workflows/testcafe_tests.yml Outdated
Comment on lines +250 to +259
[ "${{ matrix.indices }}" != "" ] && INDICES="--indices ${{ matrix.indices }}"
[ "${{ matrix.concurrency }}" != "" ] && CONCURRENCY="--concurrency ${{ matrix.concurrency }}"
[ "${{ matrix.platform }}" != "" ] && PLATFORM="--platform ${{ matrix.platform }}"
[ "${{ matrix.cache }}" == "true" ] && CACHE="--cache true"
TZVAL="${{ matrix.timezone }}"
[ -z "$TZVAL" ] && TZVAL="GMT"
# A job stays green if it has no more than --deferThreshold failures:
# those tests are recorded and handed to the dedicated "retry-unstable"
# job. More failures than that fail the job as a real regression.
all_args="--browsers=chrome:devextreme-shr2 --componentFolder ${{ matrix.componentFolder }} $CONCURRENCY $INDICES $PLATFORM $THEME $CACHE --deferThreshold 3 --timezone $TZVAL"
Comment thread .github/workflows/testcafe_tests.yml Outdated
Comment on lines +241 to +243
env:
NODE_OPTIONS: --max-old-space-size=8192
RUN_LABEL: ${{ matrix.name }}
Comment thread apps/demos/project.json
Comment on lines 101 to 106
"inputs": [
"{projectRoot}/Demos/**/*.css",
"{projectRoot}/Demos/**/*.vue",
"{projectRoot}/Demos/.stylelintrc.json"
"{projectRoot}/**/*.css",
"{projectRoot}/**/*.vue",
"{projectRoot}/.stylelintrc.json",
"{projectRoot}/.stylelintignore"
]
Comment thread apps/demos/project.json
Comment on lines +114 to 118
"{projectRoot}/**/*",
"!{projectRoot}/coverage/**/*",
"!{projectRoot}/publish-demos/**/*",
"!{projectRoot}/testing/artifacts/**/*"
]
Copilot AI review requested due to automatic review settings June 23, 2026 23:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

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

"{projectRoot}/js/__internal/core/localization/cldr-data",
"{projectRoot}/js/__internal/core/localization/default_messages.ts"
],
"cache": true,
"{projectRoot}/scss/bundles"
]
],
"cache": true
Comment on lines +20 to 26
"{workspaceRoot}/packages/devextreme/package.json",
"{workspaceRoot}/packages/devextreme-scss/build/**/*",
"{workspaceRoot}/packages/devextreme-scss/fonts/**/*",
"{workspaceRoot}/packages/devextreme-scss/icons/**/*",
"{workspaceRoot}/packages/devextreme-scss/images/**/*",
"{workspaceRoot}/packages/devextreme-scss/scss/**/*"
],
"outputs": ["{projectRoot}/artifacts/js/dx.aspnet.mvc.js"]
},
"build:declarations": {
"cache": true,
Copilot AI review requested due to automatic review settings June 24, 2026 06:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

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

Comment on lines 20 to 22
function defaultConcurrency() {
if (FRAMEWORK === 'jQuery') return Math.max(2, Math.min(8, CORES));
if (FRAMEWORK === 'jQuery') return Math.max(6, Math.min(8, CORES));
if (USE_BUNDLED) return Math.max(2, Math.min(8, CORES));
Comment on lines +10 to +12
concurrency:
group: wf-${{github.event.pull_request.number || github.sha}}-${{github.workflow}}
cancel-in-progress: true
Comment on lines +17 to +19
concurrency:
group: wf-${{github.event.pull_request.number || github.sha}}-${{github.workflow}}
cancel-in-progress: true
Sign up for free to 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.

2 participants