[Snyk] Security upgrade webpack from 4.46.0 to 5.0.0 #14
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: [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 |