Skip to content

Commit 8c95410

Browse files
Merge branch '25_1' of https://github.com/DevExpress/DevExtreme into 25_1_T1327953
2 parents 3e44947 + bda5853 commit 8c95410

18,876 files changed

Lines changed: 325344 additions & 332034 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 112 additions & 123 deletions
Large diffs are not rendered by default.

.github/actions/run-qunit-tests/action.yml

Lines changed: 6 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ inputs:
77
required: true
88
constel:
99
description: "Name of the test group"
10-
browser:
11-
description: "Name of the browser"
12-
default: "chrome"
1310
useJQuery:
1411
description: "Indicates if jQuery should be used"
1512
default: "false"
@@ -22,15 +19,15 @@ inputs:
2219
timezone:
2320
description: "Timezone for the test environment"
2421
default: ""
25-
isPerformance:
26-
description: "Indicates if performance testing should be conducted"
27-
default: "false"
2822
headless:
2923
description: "Specifies if the browser should run in headless mode"
3024
default: "true"
3125
useCsp:
3226
description: "Indicates if tests should run with Content Security Policy (CSP) enabled"
3327
default: "true"
28+
maxWorkers:
29+
description: "Maximum number of parallel test workers"
30+
default: ""
3431

3532
runs:
3633
using: composite
@@ -42,44 +39,6 @@ runs:
4239
echo "MATRIX_ENVS_NAME_SAFE=$MATRIX_ENVS_NAME_SAFE"
4340
echo "MATRIX_ENVS_NAME_SAFE=$MATRIX_ENVS_NAME_SAFE" >> $GITHUB_ENV
4441
45-
# - name: Update apt
46-
# run: |
47-
# sudo apt-get update
48-
49-
# - name: Setup utils
50-
# run: |
51-
# sudo apt-get install -y dbus-x11 httping x11vnc xvfb
52-
53-
- name: Setup Chrome
54-
if: ${{ inputs.browser == 'chrome' }}
55-
uses: ./.github/actions/setup-chrome-headless-shell
56-
with:
57-
chrome-version: '133.0.6943.53'
58-
59-
- name: Setup Firefox profile
60-
if: ${{ inputs.browser == 'firefox' }}
61-
shell: bash
62-
run: |
63-
mkdir -p /tmp/firefox-profile
64-
for p in \
65-
'"browser.shell.checkDefaultBrowser", false' \
66-
'"datareporting.policy.dataSubmissionEnabled", false' \
67-
'"font.name-list.monospace.x-western", "Liberation Mono"' \
68-
'"font.name-list.sans-serif.x-western", "Liberation Sans"' \
69-
'"font.name-list.serif.x-western", "Liberation Serif"' ; do echo "user_pref($p);" >> /tmp/firefox-profile/prefs.js; done
70-
71-
- name: Setup Firefox
72-
if: ${{ inputs.browser == 'firefox' }}
73-
id: setup-firefox
74-
uses: browser-actions/setup-firefox@v1
75-
with:
76-
firefox-version: '122.0.1'
77-
78-
- name: Use Node.js
79-
uses: actions/setup-node@v4
80-
with:
81-
node-version: '20'
82-
8342
- name: Download artifacts
8443
uses: actions/download-artifact@v4
8544
with:
@@ -115,38 +74,29 @@ runs:
11574
11675
- name: Install dependencies
11776
shell: bash
118-
run: pnpm install
119-
120-
- name: Build dotnet
121-
working-directory: ./packages/devextreme
122-
shell: bash
123-
run: dotnet build build/build-dotnet.sln
77+
run: pnpm install --frozen-lockfile
12478

12579
- name: Run QUnit tests
12680
working-directory: ./packages/devextreme
12781
shell: bash
12882
env:
12983
CONSTEL: ${{ inputs.constel }}
130-
BROWSER: ${{ inputs.browser }}
13184
JQUERY: ${{ inputs.useJQuery }}
132-
MOBILE_UA: ${{ inputs.userAgent }}
13385
SHADOW_DOM: ${{ inputs.useShadowDom }}
13486
TZ: ${{ inputs.timezone }}
135-
PERF: ${{ inputs.isPerformance }}
13687
NO_HEADLESS: ${{ inputs.headless == 'false' && 'true' || 'false' }}
13788
NO_CSP: ${{ inputs.useCsp == 'false' && 'true' || 'false' }}
13889
NORENOVATION: "false"
13990
GITHUBACTION: "true"
14091
TARGET: "test"
141-
DISPLAY: ":99"
14292
CHROME_CMD: ${{ env.CHROME_SHELL }}
93+
MAX_WORKERS: ${{ inputs.maxWorkers }}
14394
run: |
144-
node ../../tools/scripts/performance_log.js &
14595
chmod +x ./docker-ci.sh
14696
./docker-ci.sh
14797
14898
- name: Copy RawLog.txt
149-
if: ${{ failure() }}
99+
if: ${{ always() }}
150100
uses: actions/upload-artifact@v4
151101
with:
152102
name: RawLog-${{ env.MATRIX_ENVS_NAME_SAFE }}

.github/actions/setup-chrome-headless-shell/action.yml

Lines changed: 0 additions & 34 deletions
This file was deleted.

.github/actions/setup-chrome/action.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ inputs:
99
chrome-version:
1010
description: Chrome version to install
1111
default: "latest"
12+
runner-type:
13+
description: Runner type, 'github-hosted' of 'self-hosted'
14+
default: "self-hosted"
1215

1316
runs:
1417
using: composite
@@ -27,10 +30,14 @@ runs:
2730
shell: bash
2831
env:
2932
CHROME_VERSION: ${{ inputs.chrome-version }}
33+
RUNNER_TYPE: ${{ inputs.runner-type }}
3034
run: |
31-
if [ -n "$CHROME_VERSION" ]; then
32-
sudo apt-get update
33-
sudo apt-get -y install libu2f-udev
35+
CURRENT_CHROME_VERSION=$(google-chrome-stable --product-version)
36+
if [[ -n "$CHROME_VERSION" && "$CURRENT_CHROME_VERSION" != "$CHROME_VERSION" ]]; then
37+
if [ "$RUNNER_TYPE" = "github_hosted" ]; then
38+
sudo apt-get update
39+
sudo apt-get -y install libu2f-udev
40+
fi
3441
curl -L "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}-1_amd64.deb" > /tmp/chrome.deb
3542
sudo dpkg -i /tmp/chrome.deb
3643
unlink /tmp/chrome.deb

.github/codeql/codeql-config.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ paths-ignore:
44
- "/artifacts/**"
55
- "/packages/devextreme/artifacts/transpiled/**" # not prod code
66
- "/packages/devextreme/artifacts/transpiled-esm-npm/**" # not prod code
7-
- "/packages/devextreme/artifacts/transpiled-renovation/**" # not prod code
87
- "/packages/devextreme/artifacts/transpiled-renovation-npm/**" # not prod code
98
- "/packages/devextreme/artifacts/npm/devextreme-dist/**" # same as artifacts/js, removed to optimize
109
- "/packages/devextreme/artifacts/npm/devextreme/cjs/**" # same as npm/devextreme/esm/**, removed to optimize

.github/renovate.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,15 @@
1515
"packageRules": [
1616
{
1717
"matchPackageNames": [
18-
"openai"
18+
"openai",
19+
"rehype-minify-whitespace",
20+
"rehype-parse",
21+
"rehype-remark",
22+
"rehype-stringify",
23+
"remark-parse",
24+
"remark-rehype",
25+
"remark-stringify",
26+
"unified"
1927
],
2028
"enabled": false
2129
},

.github/workflows/build_all.yml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99

1010
jobs:
1111
build:
12-
runs-on: devextreme-shr2
12+
runs-on: ubuntu-latest
1313

1414
steps:
1515
- name: Get sources
@@ -20,6 +20,11 @@ jobs:
2020
with:
2121
node-version: '20'
2222

23+
- name: Set up .NET
24+
uses: actions/setup-dotnet@v4
25+
with:
26+
dotnet-version: 6.0.x
27+
2328
- uses: pnpm/action-setup@v3
2429
with:
2530
version: 9
@@ -41,7 +46,7 @@ jobs:
4146
${{ runner.os }}-pnpm-store
4247
4348
- name: Install dependencies
44-
run: pnpm install
49+
run: pnpm install --frozen-lockfile
4550

4651
- name: Build npm packages
4752
run: pnpm run all:build
@@ -59,22 +64,30 @@ jobs:
5964
needs: build
6065

6166
steps:
67+
- name: Get sources
68+
uses: actions/checkout@v4
69+
70+
- uses: pnpm/action-setup@v4
71+
with:
72+
run_install: false
73+
6274
- name: Download npm packages
6375
uses: actions/download-artifact@v4
6476
with:
6577
name: devextreme-npm-packages
6678
path: npm
6779

6880
- name: Move devextreme package
69-
run: mv ./npm/devextreme-2*.tgz ./devextreme.tgz
81+
run: mv ./npm/devextreme-2*.tgz ./e2e/devextreme-bundler/devextreme.tgz
7082

7183
- name: Setup deps
84+
working-directory: ./e2e/devextreme-bundler
7285
run: |
73-
npm init -y
74-
npm i webpack terser-webpack-plugin
75-
npm i ./devextreme.tgz
86+
pnpm install --filter devextreme-bundler-test --frozen-lockfile
87+
pnpm add --filter devextreme-bundler-test ./devextreme.tgz
7688
7789
- name: Build bundle
90+
working-directory: ./e2e/devextreme-bundler
7891
run: |
79-
npx devextreme-bundler-init custom-bundle
80-
npx devextreme-bundler custom-bundle
92+
pnpm exec devextreme-bundler-init custom-bundle
93+
pnpm exec devextreme-bundler custom-bundle

.github/workflows/codeql.yml

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
${{ runner.os }}-pnpm-store
4343
4444
- name: Install dependencies
45-
run: pnpm install
45+
run: pnpm install --frozen-lockfile
4646

4747
# - name: Build npm packages
4848
# run: pnpm run all:build
@@ -68,43 +68,10 @@ jobs:
6868
ref: refs/heads/${{ github.ref_name }}
6969
sha: ${{ steps.get-head-sha.outputs.SHA }}
7070

71-
analyze-csharp:
72-
name: Analyze C#
73-
runs-on: ubuntu-latest
74-
permissions:
75-
actions: read
76-
contents: read
77-
security-events: write
78-
79-
steps:
80-
- name: Checkout repository
81-
uses: actions/checkout@v4
82-
83-
- name: Get head SHA
84-
id: get-head-sha
85-
run: echo "SHA=$(git rev-parse origin/${{ github.ref_name }})" >> "$GITHUB_OUTPUT"
86-
87-
# Initializes the CodeQL tools for scanning.
88-
- name: Initialize CodeQL
89-
uses: github/codeql-action/init@v3
90-
with:
91-
languages: csharp
92-
config-file: ./.github/codeql/codeql-config.yml
93-
94-
- name: Autobuild
95-
uses: github/codeql-action/autobuild@v3
96-
97-
- name: Perform CodeQL Analysis
98-
uses: github/codeql-action/analyze@v3
99-
with:
100-
category: "/language:csharp"
101-
ref: refs/heads/${{ github.ref_name }}
102-
sha: ${{ steps.get-head-sha.outputs.SHA }}
103-
10471
fetch:
10572
runs-on: devextreme-shr2
10673
name: Fetch analysis
107-
needs: [ analyze-javascript, analyze-csharp ]
74+
needs: [ analyze-javascript ]
10875

10976
steps:
11077
- name: Get Latest Analysis info

.github/workflows/default_workflow.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ jobs:
5151
${{ runner.os }}-pnpm-store
5252
5353
- name: Install dependencies
54-
run: pnpm install
54+
run: pnpm install --frozen-lockfile
5555

5656
- name: Run targets
5757
run: >
58-
pnpx nx run-many
59-
-t test
58+
pnpm exec nx run-many
59+
-t lint,test
6060
--exclude
6161
devextreme
6262
devextreme-themebuilder

.github/workflows/demos_unit_tests.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,27 @@ on:
99
paths-ignore:
1010
- 'apps/**/*.md'
1111
push:
12-
branches:
13-
- "[0-9][0-9]_[0-9]"
12+
branches: [25_1]
13+
workflow_dispatch:
14+
15+
env:
16+
RUN_TESTS: true
1417

1518
jobs:
19+
check-should-run:
20+
name: Check if tests should run
21+
runs-on: devextreme-shr2
22+
outputs:
23+
should-run: ${{ steps.check.outputs.should-run }}
24+
steps:
25+
- name: Check RUN_TESTS flag
26+
id: check
27+
run: echo "should-run=${{ env.RUN_TESTS }}" >> $GITHUB_OUTPUT
28+
1629
test:
1730
name: Run unit tests
31+
needs: check-should-run
32+
if: needs.check-should-run.outputs.should-run == 'true'
1833

1934
runs-on: ubuntu-latest
2035
timeout-minutes: 60
@@ -49,8 +64,8 @@ jobs:
4964
${{ runner.os }}-pnpm-store
5065
5166
- name: Install dependencies
52-
run: pnpm install
67+
run: pnpm install --frozen-lockfile
5368

5469
- name: Run unit tests
5570
working-directory: apps/demos
56-
run: pnpx nx test
71+
run: pnpm exec nx test

0 commit comments

Comments
 (0)