Merge pull request #781 from ln-12/clear_history_and_notification_panel #4
This file contains hidden or 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: Playwright Tests | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
test: | |
# Installing Playright dependencies can take quite awhile, and also depends on GitHub CI load. | |
timeout-minutes: 15 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libwoff1 | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
id: setup_node | |
with: | |
node-version-file: package.json | |
cache: npm | |
# Cache Playwright browsers | |
- name: Cache Playwright browsers | |
id: cache-playwright | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/ms-playwright # The default Playwright cache path | |
key: ${{ runner.os }}-playwright-${{ hashFiles('package-lock.json') }} # Cache key based on OS and package-lock.json | |
restore-keys: | | |
${{ runner.os }}-playwright- | |
- name: Install dependencies | |
run: npm ci | |
- name: Install Playwright dependencies | |
run: npx playwright install-deps | |
- name: Install Playwright and browsers unless cached | |
run: npx playwright install --with-deps | |
if: steps.cache-playwright.outputs.cache-hit != 'true' | |
- name: Run Playwright tests | |
id: playwright-tests | |
run: npm run test:e2e | |
- name: Upload Playwright Report and Screenshots | |
uses: actions/upload-artifact@v4 | |
if: steps.playwright-tests.conclusion != 'skipped' | |
with: | |
name: playwright-report | |
path: | | |
client/playwright-report/ | |
client/test-results/ | |
client/results.json | |
retention-days: 2 | |
- name: Publish Playwright Test Summary | |
uses: daun/playwright-report-summary@v3 | |
if: steps.playwright-tests.conclusion != 'skipped' | |
with: | |
create-comment: ${{ github.event.pull_request.head.repo.full_name == github.repository }} | |
report-file: client/results.json | |
comment-title: "🎭 Playwright E2E Test Results" | |
job-summary: true | |
icon-style: "emojis" | |
custom-info: | | |
**Test Environment:** Ubuntu Latest, Node.js ${{ steps.setup_node.outputs.node-version }} | |
**Browsers:** Chromium, Firefox | |
📊 [View Detailed HTML Report](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) (download artifacts) | |
test-command: "npm run test:e2e" |