Skip to content

[Snyk] Security upgrade webpack from 4.46.0 to 5.0.0 #14

[Snyk] Security upgrade webpack from 4.46.0 to 5.0.0

[Snyk] Security upgrade webpack from 4.46.0 to 5.0.0 #14

name: Additional QUnit
concurrency:
group: wf-${{github.event.pull_request.number || github.sha}}-${{github.workflow}}
cancel-in-progress: true
on:
pull_request:
push:
branches: [22_2]
jobs:
build:
runs-on: devextreme-shr2
name: Build
timeout-minutes: 15
steps:
- name: Get sources
uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '15'
- name: Restore npm cache
uses: actions/cache@v3
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"
DOTNET_CLI_TELEMETRY_OPTOUT: "true"
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "true"
run: npm run build:dev
- name: Zip artifacts
run: |
7z a -tzip -mx3 -mmt2 artifacts.zip artifacts scss/bundles testing/tests/Renovation/widgets.json
- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: devextreme-artifacts
path: artifacts.zip
retention-days: 1
qunit-tests:
needs: build
runs-on: devextreme-shr2
name: ${{ matrix.envs.name }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
envs: [
{ CONSTEL: "misc", TZ: 'PST8PDT', name: 'misc-PST8PDT' },
{ CONSTEL: "misc", TZ: 'Japan', name: 'misc-Japan' },
{ CONSTEL: "misc", TZ: 'Australia/ACT', name: 'misc-Australia' },
{ CONSTEL: "ui.editors", TZ: 'PST8PDT', name: 'ui.editors-PST8PDT' },
{ CONSTEL: "ui.editors", TZ: 'Japan', name: 'ui.editors-Japan' },
{ CONSTEL: "ui.editors", TZ: 'Australia/ACT', name: 'ui.editors-Australia' },
{ CONSTEL: "ui.editors", TZ: 'Europe/London', name: 'ui.editors-Europe' },
{ CONSTEL: "ui.grid", TZ: 'PST8PDT', name: 'ui.grid-PST8PDT' },
{ CONSTEL: "ui.scheduler", TZ: 'PST8PDT', name: 'ui.scheduler-PST8PDT' },
{ CONSTEL: "ui.scheduler", TZ: 'Japan', name: 'ui.scheduler-Japan' },
{ CONSTEL: "ui.scheduler", TZ: 'Australia/ACT', name: 'ui.scheduler-Australia' },
{ CONSTEL: "ui.scheduler", TZ: 'Europe/London', name: 'ui.scheduler-Europe' },
{ PERF: true, JQUERY: true, NO_HEADLESS: true, name: 'Performance' },
{ MOBILE_UA: "ios10", CONSTEL: "ui", name: 'ui-iOS10' },
{ MOBILE_UA: "ios10", CONSTEL: "ui.widgets(1/3)", NO_HEADLESS: true, name: 'ui.widgets(1/3)-iOS10' },
{ MOBILE_UA: "ios10", CONSTEL: "ui.widgets(2/3)", NO_HEADLESS: true, name: 'ui.widgets(2/3)-iOS10' },
{ MOBILE_UA: "ios10", CONSTEL: "ui.widgets(3/3)", NO_HEADLESS: true, name: 'ui.widgets(3/3)-iOS10' },
{ MOBILE_UA: "ios10", CONSTEL: "ui.editors", NO_HEADLESS: true, name: 'ui.editors-iOS10' },
{ MOBILE_UA: "ios10", CONSTEL: "ui.htmlEditor", NO_HEADLESS: true, name: 'ui.htmlEditor-iOS10' },
{ MOBILE_UA: "ios10", CONSTEL: "ui.grid", NO_HEADLESS: true, name: 'ui.grid-iOS10' },
{ MOBILE_UA: "ios10", CONSTEL: "ui.scheduler", NO_HEADLESS: true, name: 'ui.scheduler-iOS10' },
{ MOBILE_UA: "ios10", CONSTEL: "viz", name: 'viz-iOS10' },
{ MOBILE_UA: "android6", JQUERY: true, CONSTEL: "ui", name: 'ui-android6' },
{ MOBILE_UA: "android6", JQUERY: true, CONSTEL: "ui.widgets(1/3)", NO_HEADLESS: true, name: 'ui.widgets(1/3)-android6' },
{ MOBILE_UA: "android6", JQUERY: true, CONSTEL: "ui.widgets(2/3)", NO_HEADLESS: true, name: 'ui.widgets(2/3)-android6' },
{ MOBILE_UA: "android6", JQUERY: true, CONSTEL: "ui.widgets(3/3)", NO_HEADLESS: true, name: 'ui.widgets(3/3)-android6' },
{ MOBILE_UA: "android6", JQUERY: true, CONSTEL: "ui.editors", NO_HEADLESS: true, name: 'ui.editors-android6' },
{ MOBILE_UA: "android6", JQUERY: true, CONSTEL: "ui.htmlEditor", NO_HEADLESS: true, name: 'ui.htmlEditor-android6' },
{ MOBILE_UA: "android6", JQUERY: true, CONSTEL: "ui.grid", NO_HEADLESS: true, name: 'ui.grid-android6' },
{ MOBILE_UA: "android6", JQUERY: true, CONSTEL: "ui.scheduler", NO_HEADLESS: true, name: 'ui.scheduler-android6' },
{ MOBILE_UA: "android6", JQUERY: true, CONSTEL: "viz", name: 'viz-android6' },
{ SHADOW_DOM: true, CONSTEL: "ui.widgets(1/3)", NO_HEADLESS: true, name: 'ui.widgets(1/3)-shadowdom' },
{ SHADOW_DOM: true, CONSTEL: "ui.widgets(2/3)", NO_HEADLESS: true, name: 'ui.widgets(2/3)-shadowdom' },
{ SHADOW_DOM: true, CONSTEL: "ui.widgets(3/3)", NO_HEADLESS: true, name: 'ui.widgets(3/3)-shadowdom' },
{ SHADOW_DOM: true, CONSTEL: "ui.editors", NO_HEADLESS: true, name: 'ui.editors-shadowdom' },
{ SHADOW_DOM: true, CONSTEL: "ui.htmlEditor", NO_HEADLESS: true, name: 'ui.htmlEditor-shadowdom' },
{ SHADOW_DOM: true, CONSTEL: "ui.grid", NO_HEADLESS: true, name: 'ui.grid-shadowdom' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "export", name: 'export-firefox' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "misc", name: 'misc-firefox' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "ui", name: 'ui-firefox' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "ui.editors", name: 'ui.editors-firefox' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "ui.htmlEditor", name: 'ui.htmlEditor-firefox' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "ui.grid(1/2)", name: 'ui.grid(1/2)-firefox' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "ui.grid(2/2)", name: 'ui.grid(2/2)-firefox' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "ui.scheduler(1/2)", name: 'ui.scheduler(1/2)-firefox' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "ui.scheduler(2/2)", name: 'ui.scheduler(2/2)-firefox' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "viz", name: 'viz-firefox' },
{ BROWSER: "firefox", JQUERY: true, CONSTEL: "renovation", name: 'renovation-firefox' }
]
steps:
- name: Setup MATRIX_ENVS_NAME_SAFE
run: |
MATRIX_ENVS_NAME_SAFE=$(echo -n "${{ matrix.envs.name }}" | sed 's|/|-|g')
echo "MATRIX_ENVS_NAME_SAFE=$MATRIX_ENVS_NAME_SAFE"
echo "MATRIX_ENVS_NAME_SAFE=$MATRIX_ENVS_NAME_SAFE" >> $GITHUB_ENV
- name: Setup firefox profile
run: |
mkdir -p /tmp/firefox-profile
for p in \
'"browser.shell.checkDefaultBrowser", false' \
'"datareporting.policy.dataSubmissionEnabled", false' \
'"font.name-list.monospace.x-western", "Liberation Mono"' \
'"font.name-list.sans-serif.x-western", "Liberation Sans"' \
'"font.name-list.serif.x-western", "Liberation Serif"' ; do echo "user_pref($p);" >> /tmp/firefox-profile/prefs.js; done
# - name: Update apt
# run: |
# sudo apt-get update
# - name: Setup utils
# run: |
# sudo apt-get install -y dbus-x11 httping x11vnc xvfb
- name: Get sources
uses: actions/checkout@v3
- uses: ./.github/actions/pin-browsers
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '15'
- name: Restore npm cache
uses: actions/cache@v3
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-package-lock --no-audit --no-fund
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: devextreme-artifacts
- name: Unpack artifacts
run: 7z x artifacts.zip
- name: Build dotnet
run: dotnet build build/build-dotnet.sln
- name: Run QUnit tests
env:
CONSTEL: ${{ matrix.envs.CONSTEL }}
BROWSER: ${{ matrix.envs.BROWSER }}
JQUERY: ${{ matrix.envs.JQUERY }}
MOBILE_UA: ${{ matrix.envs.MOBILE_UA }}
SHADOW_DOM: ${{ matrix.envs.SHADOW_DOM }}
TZ: ${{ matrix.envs.TZ }}
PERF: ${{ matrix.envs.PERF }}
NO_HEADLESS: ${{ matrix.envs.NO_HEADLESS }}
NORENOVATION: "false"
GITHUBACTION: "true"
TARGET: "test"
DISPLAY: ":99"
run: |
chmod +x ./docker-ci.sh
./docker-ci.sh
- name: Copy RawLog.txt
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: RawLog-${{ env.MATRIX_ENVS_NAME_SAFE }}
path: ${{ github.workspace }}/testing/RawLog.txt
if-no-files-found: ignore
notify:
runs-on: devextreme-shr2
name: Send notifications
needs: [build, qunit-tests]
if: always() && contains(needs.*.result, 'failure')
steps:
- uses: actions/checkout@v3
- uses: DevExpress/github-actions/send-teams-notification@main
with:
hook_url: ${{secrets.TEAMS_ALERT}}
bearer_token: ${{secrets.GITHUB_TOKEN}}
specific_repo: DevExpress/DevExtreme
specific_branch: 22_2