1+ name : Update screenshot on comment
2+ on :
3+ pull_request :
4+ # issue_comment:
5+ # types: [created]
6+ jobs :
7+ update-screenshots :
8+ name : Update Screenshot
9+ # if: github.event.issue.pull_request && contains(github.event.comment.body, '/approve-snapshots')
10+ runs-on : ubuntu-latest
11+ permissions :
12+ contents : write
13+ pull-requests : write
14+ steps :
15+ - uses : xt0rted/pull-request-comment-branch@v3
16+ id : comment-branch
17+ - uses : actions/checkout@v4
18+ if : success()
19+ with :
20+ ref : ${{ steps.comment-branch.outputs.head_ref }}
21+ - name : Comment on PR with Playwright updates
22+ uses : actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
23+ if : ${{ failure() && env.SNAPSHOT_DIFFERENCES == 'true' }}
24+ with :
25+ script : |
26+ const body = `### Updating snapshots. Click [here](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) to see the status.`;
27+
28+ await github.rest.issues.createComment({
29+ issue_number: context.issue.number,
30+ owner: context.repo.owner,
31+ repo: context.repo.repo,
32+ body: body,
33+ });
34+ - name : Install dependencies
35+ run : cd tests && npm ci
36+ - name : Setup Hugo
37+ uses : peaceiris/actions-hugo@75d2e84710de30f6ff7268e08f310b60ef14033f # v3.0.0
38+ with :
39+ hugo-version : " 0.134.2"
40+ extended : true
41+ - name : Install Playwright browsers
42+ run : npx playwright install --with-deps
43+ - name : Run Playwright update snapshots
44+ id : test-visual
45+ run : make tests-update-screenshots
46+ - uses : actions/upload-artifact@v4
47+ id : artifact-upload
48+ with :
49+ name : screenshots
50+ path : tests/src/__screenshots__
51+ - name : Comment on PR with success
52+ uses : actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
53+ with :
54+ script : |
55+ const body = `### Please download the artifacts [here](${{ steps.artifact-upload.outputs.artifact-url }}) and commit your updated screenshots.`;
56+
57+ await github.rest.issues.createComment({
58+ issue_number: context.issue.number,
59+ owner: context.repo.owner,
60+ repo: context.repo.repo,
61+ body: body,
62+ });
0 commit comments