Skip to content

Bump DevExtreme version (#24915) #53

Bump DevExtreme version (#24915)

Bump DevExtreme version (#24915) #53

name: TestCafe tests
concurrency:
group: wf-${{github.event.pull_request.number || github.sha}}-${{github.workflow}}
cancel-in-progress: true
on:
pull_request:
push:
branches: [21_2]
jobs:
testcafe:
name: ${{ matrix.ARGS.name }}
strategy:
fail-fast: false
matrix:
ARGS: [
{ componentFolder: "treeList", name: "treeList", quarantineMode: true },
{ componentFolder: "dataGrid", name: "dataGrid", quarantineMode: true },
{ componentFolder: "scheduler", name: "scheduler", quarantineMode: true },
{ componentFolder: "scheduler", name: "scheduler renovation", quarantineMode: true, inProgressRenovation: true },
{ componentFolder: "editors", name: "editors", quarantineMode: false },
{ componentFolder: "navigation", name: "navigation", quarantineMode: false },
{ componentFolder: "renovation", name: "renovation", quarantineMode: false }
]
runs-on: devextreme-shr2
timeout-minutes: 90
steps:
- name: Get sources
uses: actions/checkout@v2
- uses: ./.github/actions/pin-browsers
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: '15'
- name: Restore npm cache
uses: actions/cache@v2
with:
path: ./node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }}
restore-keys: ${{ runner.os }}-node-modules
- name: Run npm install
run: npm install --no-audit --no-fund
- name: Build
env:
DEVEXTREME_TEST_CI: "true"
run: BUILD_INPROGRESS_RENOVATION="${{ matrix.ARGS.inProgressRenovation == true }}" npm run build
- name: Prepare renovation playground
if: matrix.ARGS.componentFolder == 'renovation'
run: |
pushd testing/renovation
npm install --no-audit --no-fund
popd
npm run build:angular
npm run build:react
npx gulp build-renovation-testing
- name: Run TestCafe tests
run: |
[ "${{ matrix.ARGS.inProgressRenovation }}" == "true" ] && META_RENOVATION="--meta renovation"
all_args="--concurrency 2 --browsers=chrome:devextreme-shr2 --componentFolder ${{ matrix.ARGS.componentFolder }} --quarantineMode ${{ matrix.ARGS.quarantineMode}} $META_RENOVATION"
echo "$all_args"
npm run test-testcafe -- $all_args
- name: Copy compared screenshot artifacts
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: compared-screenshots
path: ${{ github.workspace }}/testing/testcafe/artifacts/compared-screenshots/**/*
if-no-files-found: ignore
- name: Copy failed test artifacts
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: failed-tests
path: ${{ github.workspace }}/testing/testcafe/artifacts/failedtests/**/*
if-no-files-found: ignore
notify:
runs-on: devextreme-shr2
name: Send notifications
needs: [testcafe]
if: always() && contains(needs.*.result, 'failure')
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/send-teams-notification
with:
hook_url: ${{secrets.TEAMS_ALERT}}
run_id: ${{github.run_id}}
bearer_token: ${{secrets.GITHUB_TOKEN}}
specific_repo: DevExpress/DevExtreme
specific_branch: 21_2