Ignore doc changes on CI #40044
Workflow file for this run
This file contains 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: Additional QUnit | |
concurrency: | |
group: wf-${{github.event.pull_request.number || github.sha}}-${{github.workflow}} | |
cancel-in-progress: true | |
on: | |
pull_request: | |
push: | |
branches: [24_2] | |
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' }} | |
jobs: | |
prFilter: | |
runs-on: ubuntu-latest | |
outputs: | |
success: ${{ steps.filter.outputs.result }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: Filter | |
id: filter | |
uses: DevExpress/github-actions/pr-filter@main | |
with: | |
paths: '**;!**/*.md;!**/*.yml' | |
build: | |
name: Build | |
needs: [ prFilter ] | |
if: needs.prFilter.outputs.success == 'true' | |
runs-on: devextreme-shr2 | |
timeout-minutes: 25 | |
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@v3 | |
with: | |
version: 9 | |
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 }} | |
.nx/cache | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store | |
- name: Install dependencies | |
run: | | |
corepack enable | |
pnpm install | |
- name: Build | |
env: | |
DEVEXTREME_TEST_CI: "true" | |
DOTNET_CLI_TELEMETRY_OPTOUT: "true" | |
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "true" | |
working-directory: ./packages/devextreme | |
run: | | |
pnpx nx build:dev | |
pnpx nx build:systemjs | |
- name: Zip artifacts | |
working-directory: ./packages/devextreme | |
run: | | |
7z a -tzip -mx3 -mmt2 artifacts.zip artifacts ../devextreme-scss/scss/bundles testing/tests/Renovation/widgets.json | |
- name: Upload build artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: devextreme-artifacts | |
path: packages/devextreme/artifacts.zip | |
retention-days: 1 | |
qunit-tests-timezones: | |
needs: build | |
runs-on: devextreme-shr2 | |
name: ${{ matrix.constel }}-${{ matrix.timezone }} | |
timeout-minutes: 25 | |
strategy: | |
fail-fast: false | |
matrix: | |
constel: [ | |
'misc(1/2)', | |
'misc(2/2)', | |
'ui.editors(1/2)', | |
'ui.editors(2/2)', | |
'ui.grid(1/2)', | |
'ui.grid(2/2)', | |
'ui.scheduler(1/3)', | |
'ui.scheduler(2/3)', | |
'ui.scheduler(3/3)' | |
] | |
timezone: [ 'US/Pacific', 'Japan', 'Australia/ACT', 'Europe/London' ] | |
steps: | |
- name: Get sources | |
uses: actions/checkout@v4 | |
- name: Run QUnit tests | |
uses: ./.github/actions/run-qunit-tests | |
with: | |
name: ${{ matrix.constel }}-${{ matrix.timezone }} | |
constel: ${{ matrix.constel }} | |
browser: 'chrome' | |
timezone: ${{ matrix.timezone }} | |
headless: 'true' | |
useJQuery: 'false' | |
useCsp: 'true' | |
qunit-tests-performance: | |
needs: build | |
runs-on: devextreme-shr2 | |
name: Performance | |
timeout-minutes: 25 | |
steps: | |
- name: Get sources | |
uses: actions/checkout@v4 | |
- name: Run QUnit tests | |
uses: ./.github/actions/run-qunit-tests | |
with: | |
name: 'Performance' | |
browser: 'chrome' | |
isPerformance: 'true' | |
useJQuery: 'true' | |
headless: 'false' | |
useCsp: 'false' | |
qunit-tests-mobile-and-shadow-dom: | |
needs: build | |
runs-on: devextreme-shr2 | |
name: ${{ matrix.constel }}-${{ matrix.kind }} | |
timeout-minutes: 25 | |
strategy: | |
fail-fast: false | |
matrix: | |
constel: [ | |
'ui', | |
'ui.widgets(1/3)', | |
'ui.widgets(2/3)', | |
'ui.widgets(3/3)', | |
'ui.editors(1/2)', | |
'ui.editors(2/2)', | |
'ui.htmlEditor', | |
'ui.grid(1/2)', | |
'ui.grid(2/2)', | |
'ui.scheduler(1/3)', | |
'ui.scheduler(2/3)', | |
'ui.scheduler(3/3)', | |
'viz' | |
] | |
kind: [ 'shadow-dom', 'ios10', 'android6' ] | |
include: | |
- headless: false | |
- kind: 'shadow-dom' | |
userAgent: '' | |
useShadowDom: true | |
- kind: 'ios10' | |
userAgent: 'ios10' | |
- kind: 'android6' | |
userAgent: 'android6' | |
useJQuery: true | |
- constel: 'ui' | |
headless: true | |
- constel: 'viz' | |
headless: true | |
steps: | |
- name: Get sources | |
uses: actions/checkout@v4 | |
- name: Run QUnit tests | |
uses: ./.github/actions/run-qunit-tests | |
with: | |
name: ${{ matrix.constel }}-${{ matrix.kind }} | |
constel: ${{ matrix.constel }} | |
browser: 'chrome' | |
useJQuery: ${{ matrix.useJquery || 'false' }} | |
userAgent: ${{ matrix.userAgent }} | |
useShadowDom: ${{ matrix.useShadowDom }} | |
headless: ${{ matrix.headless }} | |
useCsp: 'true' | |
qunit-tests-firefox: | |
needs: build | |
runs-on: devextreme-shr2 | |
name: ${{ matrix.constel }}-firefox | |
timeout-minutes: 25 | |
strategy: | |
fail-fast: false | |
matrix: | |
constel: [ | |
'export', | |
'misc', | |
'ui', | |
'ui.editors(1/2)', | |
'ui.editors(2/2)', | |
'ui.htmlEditor', | |
'ui.grid(1/2)', | |
'ui.grid(2/2)', | |
'ui.scheduler(1/3)', | |
'ui.scheduler(2/3)', | |
'ui.scheduler(3/3)', | |
'viz', | |
'renovation' | |
] | |
steps: | |
- name: Get sources | |
uses: actions/checkout@v4 | |
- name: Run QUnit tests | |
uses: ./.github/actions/run-qunit-tests | |
with: | |
name: ${{ matrix.constel }}-firefox | |
constel: ${{ matrix.constel }} | |
browser: 'firefox' | |
useJQuery: 'true' | |
headless: 'true' | |
useCsp: 'true' | |
qunit-tests-common: | |
needs: build | |
runs-on: devextreme-shr2 | |
name: ${{ matrix.constel }}-chrome | |
timeout-minutes: 25 | |
strategy: | |
fail-fast: false | |
matrix: | |
constel: [ 'export', 'ui.htmlEditor' ] | |
steps: | |
- name: Get sources | |
uses: actions/checkout@v4 | |
- name: Run QUnit tests | |
uses: ./.github/actions/run-qunit-tests | |
with: | |
name: ${{ matrix.constel }}-chrome | |
constel: ${{ matrix.constel }} | |
browser: 'chrome' | |
useJQuery: 'true' | |
headless: 'true' | |
useCsp: 'true' | |
qunit-tests-no-csp: | |
needs: build | |
runs-on: devextreme-shr2 | |
name: ${{ matrix.constel }}-no-csp | |
timeout-minutes: 25 | |
strategy: | |
fail-fast: false | |
matrix: | |
constel: [ 'misc(1/2)', 'misc(2/2)' ] | |
steps: | |
- name: Get sources | |
uses: actions/checkout@v4 | |
- name: Run QUnit tests | |
uses: ./.github/actions/run-qunit-tests | |
with: | |
name: ${{ matrix.constel }}-no-csp | |
constel: ${{ matrix.constel }} | |
browser: 'chrome' | |
useJQuery: 'true' | |
headless: 'true' | |
useCsp: 'false' | |
notify: | |
runs-on: devextreme-shr2 | |
name: Send notifications | |
needs: [ | |
build, | |
qunit-tests-timezones, | |
qunit-tests-performance, | |
qunit-tests-mobile-and-shadow-dom, | |
qunit-tests-firefox, | |
qunit-tests-no-csp | |
] | |
if: github.event_name != 'pull_request' && contains(needs.*.result, 'failure') | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: DevExpress/github-actions/send-teams-notification@main | |
with: | |
hook_url: ${{secrets.TEAMS_ALERT}} | |
bearer_token: ${{secrets.GITHUB_TOKEN}} | |
specific_repo: DevExpress/DevExtreme |