Skip to content

[stable33] Fix: Remove user memoization #426

[stable33] Fix: Remove user memoization

[stable33] Fix: Remove user memoization #426

Workflow file for this run

# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Playwright
on: pull_request
concurrency:
group: playwright-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
env:
APP_NAME: ${{ github.event.repository.name }}
BRANCH: ${{ github.base_ref || github.ref_name }}
jobs:
playwright:
runs-on: ubuntu-latest
name: Playwright E2E tests
steps:
- name: Checkout app
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
- name: Install Playwright browsers
run: npx playwright install chromium --with-deps
- name: Build app
run: TESTING=true npm run build --if-present
- name: Run Playwright tests
run: npx playwright test
env:
BRANCH: ${{ env.BRANCH }}
CI: true
- name: Show Nextcloud logs on failure
if: failure()
run: |
docker exec nextcloud-e2e-test-server_activity cat data/nextcloud.log || true
- name: Upload blob report
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: ${{ !cancelled() }}
with:
name: blob-report
path: blob-report/
retention-days: 1
- name: Upload Playwright traces
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: failure()
with:
name: playwright-traces
path: test-results/
retention-days: 7
merge-reports:
if: ${{ !cancelled() }}
needs: playwright
runs-on: ubuntu-latest
steps:
- name: Checkout app
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.playwright.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
- name: Download blob report
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v4.3.0
with:
name: blob-report
path: blob-report
- name: Merge into HTML report
run: npx playwright merge-reports --reporter html ./blob-report
- name: Upload HTML report
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: html-report--attempt-${{ github.run_attempt }}
path: playwright-report/
retention-days: 7
summary:
runs-on: ubuntu-latest-low
needs: playwright
if: always()
name: playwright-summary
steps:
- name: Summary status
run: if ${{ needs.playwright.result != 'success' && needs.playwright.result != 'skipped' }}; then exit 1; fi