Skip to content

Merge pull request #331 from kshyk/renovate/node-20.x-lockfile #951

Merge pull request #331 from kshyk/renovate/node-20.x-lockfile

Merge pull request #331 from kshyk/renovate/node-20.x-lockfile #951

Workflow file for this run

name: Regression
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: '0 5 * * 6'
workflow_dispatch:
env:
USER_NAME: ${{ secrets.USER_NAME }}
USER_PASSWORD: ${{ secrets.USER_PASSWORD }}
jobs:
linux_os:
name: ${{ matrix.os }} (${{ matrix.browser }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
browser: [chrome, firefox, webkit, msedge]
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- name: Checkout ${{ github.repository }} repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'yarn'
- name: Install dependencies
run: |
yarn install --frozen-lockfile
npx playwright install --with-deps ${{ matrix.browser }}
env:
DEBUG: pw:install
- name: Run Playwright tests
run: xvfb-run --auto-servernum --server-args="-screen 0 1366x768x24" -- yarn test --project=${{ matrix.browser }}
- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: Test results for ${{ matrix.os }} (${{ matrix.browser }})
path: test-results/junit-results.xml
mac_os:
name: ${{ matrix.os }} (${{ matrix.browser }})
strategy:
fail-fast: false
matrix:
os: [macos-13]
browser: [chrome, firefox, webkit, msedge]
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- name: Checkout ${{ github.repository }} repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'yarn'
- name: Install dependencies
run: |
yarn install --frozen-lockfile
npx playwright install --with-deps ${{ matrix.browser }}
env:
DEBUG: pw:install
- name: Run Playwright tests
run: yarn test --project=${{ matrix.browser }}
- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: Test results for ${{ matrix.os }} (${{ matrix.browser }})
path: test-results/junit-results.xml
windows_os:
name: ${{ matrix.os }} (${{ matrix.browser }})
strategy:
fail-fast: false
matrix:
os: [windows-2022]
browser: [chrome, firefox, webkit, msedge]
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- name: Checkout ${{ github.repository }} repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'yarn'
- name: Install dependencies
run: |
yarn install --frozen-lockfile
npx playwright install --with-deps ${{ matrix.browser }}
env:
DEBUG: pw:install
- name: Run Playwright tests
run: yarn test --project=${{ matrix.browser }}
shell: bash
- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: Test results for ${{ matrix.os }} (${{ matrix.browser }})
path: test-results/junit-results.xml
publish-linux-results:
name: Publish Linux test results
needs: linux_os
runs-on: ubuntu-22.04
if: always()
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Publish test results
uses: EnricoMi/publish-unit-test-result-action/linux@v2
if: always()
with:
files: artifacts/**/*.xml
publish-macos-results:
name: Publish MacOS test results
needs: mac_os
runs-on: macos-14
if: always()
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Publish test results
uses: EnricoMi/publish-unit-test-result-action/macos@v2
if: always()
with:
files: artifacts/**/*.xml
publish-windows-results:
name: Publish Windows test results
needs: windows_os
runs-on: windows-2022
if: always()
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Publish test results
uses: EnricoMi/publish-unit-test-result-action/windows@v2
if: always()
with:
files: artifacts/**/*.xml