Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
85 lines
2.7 KiB
YAML
85 lines
2.7 KiB
YAML
# Adapted from https://mmazzarolo.com/blog/2022-09-09-visual-regression-testing-with-playwright-and-github-actions/
|
|
|
|
# This workflow's goal is forcing an update of the reference snapshots used
|
|
# by Playwright tests. Add the 'update-snapshots' label to a PR.
|
|
# From a high-level perspective, it works like this:
|
|
# 1. Because of a GitHub Action limitation, this workflow is triggered on every
|
|
# label added to a PR. We manually interrupt it unless the label is
|
|
# "update-snapshots".
|
|
# 2. Use the GitHub API to grab the information about the branch name and SHA of
|
|
# the latest commit of the current pull request.
|
|
# 3. Remove the label from the PR.
|
|
# 4. Update the Playwright reference snapshots based on the UI of this branch.
|
|
# 5. Commit the newly generated Playwright reference snapshots into this branch.
|
|
name: Update playwright snapshots
|
|
|
|
on:
|
|
pull_request:
|
|
types: [labeled]
|
|
|
|
env:
|
|
CI: 1
|
|
PRINT_GITHUB_ANNOTATIONS: 1
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
update_snapshots:
|
|
name: 'Run'
|
|
timeout-minutes: 60
|
|
runs-on: ubuntu-latest-8-cores-open
|
|
if: github.event.label.name == 'update-snapshots'
|
|
|
|
permissions:
|
|
# Give the default GITHUB_TOKEN write permission to commit and push the
|
|
# added or changed files to the repository.
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
steps:
|
|
- name: Remove the update-snapshots label
|
|
uses: actions-ecosystem/action-remove-labels@v1
|
|
with:
|
|
labels: update-snapshots
|
|
|
|
- name: Check out code
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 5
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
ref: ${{ github.event.pull_request.head.ref }}
|
|
|
|
- name: Run our setup
|
|
uses: ./.github/actions/setup
|
|
|
|
- name: Set up Playwright
|
|
uses: ./.github/actions/setup-playwright
|
|
|
|
- name: Build examples
|
|
run: yarn run -T lazy refresh-assets && yarn run -T lazy run prebuild && cd apps/examples && yarn build
|
|
|
|
- name: Run Playwright tests & update snapshots
|
|
run: 'yarn e2e --update-snapshots'
|
|
working-directory: 'apps/examples'
|
|
|
|
- name: Commit and push changes
|
|
if: always()
|
|
run: |
|
|
set -eux
|
|
git config --global user.name 'huppy-bot[bot]'
|
|
git config --global user.email '128400622+huppy-bot[bot]@users.noreply.github.com'
|
|
git add -A
|
|
if git diff --cached --quiet; then
|
|
echo 'No snapshot changes to commit.'
|
|
exit 0
|
|
fi
|
|
git commit --no-verify -m '[automated] update snapshots'
|
|
git add -A && git reset --hard HEAD # we sometimes get a dirty tree because husky makes changes for some reason
|
|
git pull --rebase
|
|
git push
|