-
Notifications
You must be signed in to change notification settings - Fork 85
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5818 from nextcloud-libraries/chore/playwright
ci: Migrate component tests to Playwright
- Loading branch information
Showing
192 changed files
with
2,087 additions
and
3,522 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors | ||
# SPDX-License-Identifier: MIT | ||
|
||
name: Command update Playwright snapshots | ||
on: | ||
issue_comment: | ||
types: [created] | ||
|
||
jobs: | ||
init: | ||
runs-on: ubuntu-latest | ||
|
||
# On pull requests and if the comment starts with `/update-snapshots` | ||
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/update-snapshots') | ||
|
||
outputs: | ||
arg1: ${{ steps.command.outputs.arg1 }} | ||
head_ref: ${{ steps.comment-branch.outputs.head_ref }} | ||
|
||
steps: | ||
- name: Add reaction on start | ||
uses: peter-evans/create-or-update-comment@v4 | ||
with: | ||
token: ${{ secrets.COMMAND_BOT_PAT }} | ||
repository: ${{ github.event.repository.full_name }} | ||
comment-id: ${{ github.event.comment.id }} | ||
reaction-type: "+1" | ||
|
||
- name: Parse command | ||
uses: skjnldsv/parse-command-comment@master | ||
id: command | ||
|
||
- name: Init branch | ||
uses: xt0rted/pull-request-comment-branch@v2 | ||
id: comment-branch | ||
|
||
process: | ||
runs-on: ubuntu-latest | ||
needs: init | ||
|
||
steps: | ||
- name: Checkout ${{ needs.init.outputs.head_ref }} | ||
uses: actions/checkout@v4 | ||
with: | ||
token: ${{ secrets.COMMAND_BOT_PAT }} | ||
fetch-depth: 0 | ||
ref: ${{ needs.init.outputs.head_ref }} | ||
|
||
- name: Setup git | ||
run: | | ||
git config --local user.email "[email protected]" | ||
git config --local user.name "nextcloud-command" | ||
- name: Read package.json node and npm engines version | ||
uses: skjnldsv/read-package-engines-version-actions@v3 | ||
id: package-engines-versions | ||
with: | ||
fallbackNode: '^20' | ||
fallbackNpm: '^10' | ||
|
||
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }} | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }} | ||
cache: npm | ||
|
||
- name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }} | ||
run: npm i -g npm@"${{ steps.package-engines-versions.outputs.npmVersion }}" | ||
|
||
- name: Install dependencies | ||
run: npm ci | ||
|
||
- name: Update snapshots | ||
run: npm run update:snapshots | ||
|
||
- name: Commit and push default | ||
if: ${{ needs.init.outputs.arg1 != 'fixup' && needs.init.outputs.arg1 != 'amend' }} | ||
run: | | ||
git add . | ||
git commit --signoff -m 'Updating l10n asset' | ||
git push origin ${{ needs.init.outputs.head_ref }} | ||
- name: Commit and push fixup | ||
if: ${{ needs.init.outputs.arg1 == 'fixup' }} | ||
run: | | ||
git add . | ||
git commit --fixup=HEAD --signoff | ||
git push origin ${{ needs.init.outputs.head_ref }} | ||
- name: Commit and push amend | ||
if: ${{ needs.init.outputs.arg1 == 'amend' }} | ||
run: | | ||
git add . | ||
git commit --amend --no-edit --signoff | ||
git push --force origin ${{ needs.init.outputs.head_ref }} | ||
- name: Add reaction on failure | ||
uses: peter-evans/create-or-update-comment@v4 | ||
if: failure() | ||
with: | ||
token: ${{ secrets.COMMAND_BOT_PAT }} | ||
repository: ${{ github.event.repository.full_name }} | ||
comment-id: ${{ github.event.comment.id }} | ||
reaction-type: "-1" |
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors | ||
# SPDX-License-Identifier: MIT | ||
|
||
name: Playwright Tests | ||
|
||
on: | ||
push: | ||
branches: [ main, next ] | ||
pull_request: | ||
branches: [ main, next ] | ||
jobs: | ||
playwright-tests: | ||
timeout-minutes: 60 | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
shardIndex: [1, 2] | ||
shardTotal: [2] | ||
|
||
outputs: | ||
nodeVersion: ${{ steps.versions.outputs.nodeVersion }} | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Read package.json node and npm engines version | ||
uses: skjnldsv/read-package-engines-version-actions@v3 | ||
id: versions | ||
with: | ||
fallbackNode: '^20' | ||
fallbackNpm: '^10' | ||
|
||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }} | ||
uses: actions/setup-node@v4 | ||
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 --with-deps | ||
|
||
- name: Run Playwright tests | ||
run: npm run test:component -- --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} | ||
|
||
- name: Upload blob report to GitHub Actions Artifacts | ||
if: ${{ !cancelled() }} | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: blob-report-${{ matrix.shardIndex }} | ||
path: blob-report | ||
retention-days: 1 | ||
|
||
merge-reports: | ||
# Merge reports after playwright-tests, even if some shards have failed | ||
if: ${{ !cancelled() }} | ||
needs: [playwright-tests] | ||
|
||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version: ${{ needs.playwright-tests.outputs.nodeVersion }} | ||
|
||
- name: Install dependencies | ||
run: npm ci | ||
|
||
- name: Download blob reports from GitHub Actions Artifacts | ||
uses: actions/download-artifact@v4 | ||
with: | ||
path: all-blob-reports | ||
pattern: blob-report-* | ||
merge-multiple: true | ||
|
||
- name: Merge into HTML Report | ||
run: npx playwright merge-reports --reporter html,github ./all-blob-reports | ||
|
||
- name: Upload HTML report | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: html-report--attempt-${{ github.run_attempt }} | ||
path: playwright-report | ||
retention-days: 7 | ||
|
||
- name: Show the logs | ||
run: | | ||
echo 'To view the report:' | ||
echo ' 1. Extract the folder from the zip file' | ||
echo ' 2. run "npx playwright show-report name-of-my-extracted-playwright-report"' | ||
summary: | ||
permissions: | ||
contents: none | ||
runs-on: ubuntu-latest | ||
needs: [playwright-tests] | ||
|
||
if: always() | ||
|
||
name: playwright-test-summary | ||
|
||
steps: | ||
- name: Summary status | ||
run: if ${{ needs.playwright-tests.result != 'success' }}; then exit 1; fi |
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
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
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
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.