name: Comment on the PR with Playwright results on: workflow_run: workflows: ["Playwright Tests"] types: - completed permissions: {} jobs: playwright_comment: runs-on: ubuntu-latest permissions: pull-requests: write if: > github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' steps: - name: Grab playwright-output from PR run uses: dawidd6/action-download-artifact@5e780fc7bbd0cac69fc73271ed86edf5dcb72d67 # pin@v2 continue-on-error: true with: github_token: ${{ secrets.GITHUB_TOKEN }} run_id: ${{ github.event.workflow_run.id }} name: playwright-output - name: Grab master-screenshots-outcome from PR run uses: dawidd6/action-download-artifact@5e780fc7bbd0cac69fc73271ed86edf5dcb72d67 # pin@v2 continue-on-error: true with: github_token: ${{ secrets.GITHUB_TOKEN }} run_id: ${{ github.event.workflow_run.id }} name: master-screenshots-outcome - name: Load artifacts into environment variables id: playwright run: | EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) echo "PLAYWRIGHT_OUTPUT<<$EOF" >> $GITHUB_OUTPUT cat ./playwright-output >> $GITHUB_OUTPUT echo "$EOF" >> $GITHUB_OUTPUT echo "MASTER_SCREENSHOTS_OUTCOME<<$EOF" >> $GITHUB_OUTPUT cat ./master-screenshots-outcome >> $GITHUB_OUTPUT echo "$EOF" >> $GITHUB_OUTPUT echo "NUM_FAILED=$(grep -c 'Screenshot comparison failed' $GITHUB_OUTPUT)" >> $GITHUB_OUTPUT - name: "[Comment] Couldn't download screenshots from master branch" uses: mshick/add-pr-comment@a65df5f64fc741e91c59b8359a4bc56e57aaf5b1 # pin@v2 if: github.event_name == 'pull_request' && steps.playwright.outputs.MASTER_SCREENSHOTS_OUTCOME == 'failure' with: message: | :heavy_exclamation_mark: Could not fetch screenshots from master branch, so had nothing to make a visual comparison against; please check the "master-screenshots" step in the workflow run and rerun it before merging. - name: "[Comment] Success: No visual differences introduced by this PR" uses: mshick/add-pr-comment@a65df5f64fc741e91c59b8359a4bc56e57aaf5b1 # pin@v2 if: github.event_name == 'pull_request' && steps.playwright.outputs.MASTER_SCREENSHOTS_OUTCOME != 'failure' && steps.playwright.outputs.NUM_FAILED == 0 with: message: | :heavy_check_mark: No visual differences introduced by this PR. [View Playwright Report](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.event.workflow_run.id }}#artifacts) (note: open the "playwright-report" artifact) - name: "[Comment] Warning: Visual differences introduced by this PR" uses: mshick/add-pr-comment@a65df5f64fc741e91c59b8359a4bc56e57aaf5b1 # pin@v2 if: github.event_name == 'pull_request' && steps.playwright.outputs.MASTER_SCREENSHOTS_OUTCOME != 'failure' && steps.playwright.outputs.NUM_FAILED != 0 with: message: | :warning: ${{ steps.playwright.outputs.NUM_FAILED }} visual differences introduced by this PR; please validate if they are desirable.
Playwright Test Results
            ${{ steps.playwright.outputs.PLAYWRIGHT_OUTPUT }}
            
[View Playwright Report](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.event.workflow_run.id }}#artifacts) (note: open the "playwright-report" artifact)