chore(deps): update dependency @devexpress/callsite-record@^4.1.6 to v4.1.7 #75140
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: TestCafe tests | |
| concurrency: | |
| group: wf-${{github.event.pull_request.number || github.sha}}-${{github.workflow}} | |
| cancel-in-progress: true | |
| on: | |
| pull_request: | |
| paths-ignore: | |
| - 'apps/**/*.md' | |
| push: | |
| branches: [26_1] | |
| workflow_dispatch: | |
| env: | |
| NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_TOKEN }} | |
| NX_SKIP_NX_CACHE: ${{ (github.event_name != 'pull_request' || contains( github.event.pull_request.labels.*.name, 'skip-cache')) && 'true' || 'false' }} | |
| BUILD_TEST_INTERNAL_PACKAGE: true | |
| RUN_TESTS: true | |
| jobs: | |
| check-should-run: | |
| name: Check if tests should run | |
| runs-on: devextreme-shr2 | |
| outputs: | |
| should-run: ${{ steps.check.outputs.should-run }} | |
| steps: | |
| - name: Check RUN_TESTS flag | |
| id: check | |
| run: echo "should-run=${{ env.RUN_TESTS }}" >> $GITHUB_OUTPUT | |
| build: | |
| name: Build DevExtreme | |
| needs: check-should-run | |
| if: needs.check-should-run.outputs.should-run == 'true' | |
| runs-on: devextreme-shr2 | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Get sources | |
| uses: actions/checkout@v4 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| run_install: false | |
| - name: Get pnpm store directory | |
| shell: bash | |
| run: | | |
| echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
| - uses: actions/cache@v4 | |
| name: Setup pnpm cache | |
| with: | |
| path: ${{ env.STORE_PATH }} | |
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm-store | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| shell: bash | |
| env: | |
| NODE_OPTIONS: --max-old-space-size=8192 | |
| run: | | |
| pnpx nx build devextreme-scss | |
| pnpx nx build devextreme | |
| - name: Zip artifacts | |
| working-directory: ./packages/devextreme | |
| run: | | |
| 7z a -tzip -mx3 -mmt2 artifacts.zip artifacts ../devextreme-scss/scss/bundles | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: devextreme-artifacts | |
| path: ./packages/devextreme/artifacts.zip | |
| retention-days: 1 | |
| testcafe: | |
| name: ${{ matrix.ARGS.name }}${{ !matrix.ARGS.theme && ' - fluent' || '' }} | |
| if: needs.check-should-run.outputs.should-run == 'true' | |
| needs: [check-should-run, build] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ARGS: [ | |
| { componentFolder: "accessibility", name: "accessibility" }, | |
| { componentFolder: "common", name: "common" }, | |
| { name: "generic", theme: 'generic.light' }, | |
| { name: "material", theme: 'material.blue.light' }, | |
| { name: "material - compact", theme: 'material.blue.light.compact' }, | |
| { componentFolder: "cardView", name: "cardView" }, | |
| { componentFolder: "dataGrid", name: "dataGrid (1/4)", indices: "1/4", cache: true }, | |
| { componentFolder: "dataGrid", name: "dataGrid (2/4)", indices: "2/4", cache: true }, | |
| { componentFolder: "dataGrid", name: "dataGrid (3/4)", indices: "3/4", cache: true }, | |
| { componentFolder: "dataGrid", name: "dataGrid (4/4)", indices: "4/4", cache: true }, | |
| { componentFolder: "editors", name: "editors" }, | |
| { componentFolder: "navigation", name: "navigation" }, | |
| { componentFolder: "scheduler/common", name: "scheduler / common (1/3)", indices: "1/3" }, | |
| { componentFolder: "scheduler/common", name: "scheduler / common (2/3)", indices: "2/3" }, | |
| { componentFolder: "scheduler/common", name: "scheduler / common (3/3)", indices: "3/3" }, | |
| { componentFolder: "scheduler/viewOffset", name: "scheduler / viewOffset (1/2)", indices: "1/2" }, | |
| { componentFolder: "scheduler/viewOffset", name: "scheduler / viewOffset (2/2)", indices: "2/2" }, | |
| { componentFolder: "scheduler/timezones", name: "scheduler / timezones (Europe/Berlin)", timezone: "Europe/Berlin" }, | |
| { componentFolder: "scheduler/timezones", name: "scheduler / timezones (America/Los_Angeles)", timezone: "America/Los_Angeles" }, | |
| ] | |
| runs-on: devextreme-shr2 | |
| timeout-minutes: 45 | |
| steps: | |
| - name: Set machine timezone | |
| run: | | |
| sudo ln -sf "/usr/share/zoneinfo/$([ "${{ matrix.ARGS.timezone }}" != "" ] && echo "${{ matrix.ARGS.timezone }}" || echo "GMT")" /etc/localtime | |
| date | |
| - name: Get sources | |
| uses: actions/checkout@v4 | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: devextreme-artifacts | |
| path: ./packages/devextreme | |
| - name: Unpack artifacts | |
| working-directory: ./packages/devextreme | |
| run: 7z x artifacts.zip -aoa | |
| # - name: Setup Chrome | |
| # uses: ./.github/actions/setup-chrome | |
| # with: | |
| # chrome-version: '141.0.7390.122' | |
| # - name: Use Node.js | |
| # uses: actions/setup-node@v4 | |
| # with: | |
| # node-version: '20' | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| run_install: false | |
| - name: Get pnpm store directory | |
| shell: bash | |
| run: | | |
| echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
| - uses: actions/cache/restore@v4 | |
| name: Restore pnpm cache | |
| with: | |
| path: ${{ env.STORE_PATH }} | |
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm-store | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Check runner resources | |
| run: | | |
| echo "CPU cores: $(nproc)" | |
| echo "Memory: $(free -h)" | |
| echo "Disk: $(df -h)" | |
| - name: Run TestCafe tests | |
| working-directory: ./e2e/testcafe-devextreme | |
| env: | |
| NODE_OPTIONS: --max-old-space-size=8192 | |
| run: | | |
| if [ "${{ matrix.ARGS.theme }}" != "" ]; then | |
| THEME="--theme ${{ matrix.ARGS.theme }}" | |
| else | |
| THEME="--theme fluent.blue.light" | |
| fi | |
| [ "${{ matrix.ARGS.indices }}" != "" ] && INDICES="--indices ${{ matrix.ARGS.indices }}" | |
| [ "${{ matrix.ARGS.concurrency }}" != "" ] && CONCURRENCY="--concurrency ${{ matrix.ARGS.concurrency }}" | |
| [ "${{ matrix.ARGS.platform }}" != "" ] && PLATFORM="--platform ${{ matrix.ARGS.platform }}" | |
| [ "${{ matrix.ARGS.cache }}" == "true" ] && CACHE="--cache true" | |
| all_args="--browsers=chrome:devextreme-shr2 --componentFolder ${{ matrix.ARGS.componentFolder }} $CONCURRENCY $INDICES $PLATFORM $THEME $CACHE" | |
| echo "$all_args" | |
| pnpm run test $all_args | |
| - name: Sanitize job name | |
| if: ${{ always() }} | |
| run: echo "JOB_NAME=$(echo "${{ matrix.ARGS.name }}" | tr '/' '-')" >> $GITHUB_ENV | |
| - name: Copy compared screenshot artifacts | |
| if: ${{ always() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: compared-screenshots-${{ env.JOB_NAME }} | |
| path: ${{ github.workspace }}/e2e/testcafe-devextreme/artifacts/compared-screenshots/**/* | |
| if-no-files-found: ignore | |
| - name: Copy failed test artifacts | |
| if: ${{ always() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: failed-tests-${{ env.JOB_NAME }} | |
| path: ${{ github.workspace }}/e2e/testcafe-devextreme/artifacts/failedtests/**/* | |
| if-no-files-found: ignore | |
| merge-artifacts: | |
| runs-on: devextreme-shr2 | |
| needs: testcafe | |
| if: ${{ always() }} | |
| steps: | |
| - name: Merge screenshot artifacts | |
| uses: actions/upload-artifact/merge@v4 | |
| continue-on-error: true | |
| with: | |
| name: compared-screenshots | |
| pattern: compared-screenshots-* | |
| delete-merged: true | |
| - name: Merge failed test artifacts | |
| uses: actions/upload-artifact/merge@v4 | |
| continue-on-error: true | |
| with: | |
| name: failed-tests | |
| pattern: failed-tests-* | |
| delete-merged: true | |
| notify: | |
| runs-on: devextreme-shr2 | |
| name: Send notifications | |
| needs: [build, testcafe] | |
| if: github.event_name != 'pull_request' && contains(needs.*.result, 'failure') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: DevExpress/github-actions/send-teams-notification@v1 | |
| with: | |
| hook_url: ${{secrets.TEAMS_ALERT}} | |
| bearer_token: ${{secrets.GITHUB_TOKEN}} | |
| specific_repo: DevExpress/DevExtreme |