Visual regressions are found late because nothing looks at the page. Tests assert behaviour, review reads the diff, and the rendered result is the one artefact nobody produces. Capturing it costs one step.
The step
Add to any workflow that has a preview URL.
- uses: ironfang-ltd/renderwolf-action@v1
with:
api-key: ${{ secrets.RENDERWOLF_API_KEY }}
urls: |
https://preview.example.com/
https://preview.example.com/pricing
width: 1440
full-page: true
format: webpThe step writes a table into the job summary - what it captured, the size, the render time and the credits it used - and uploads the images as artefacts. Reviewers see the table without leaving the pull request.
Why re-runs are free
Identical requests are served from cache and are not charged. Re-running a workflow on an unchanged page costs nothing, which matters on a repository where CI runs on every push and most pushes do not touch the front end.
Doing it without the action
The action is a convenience. Any runner with curl can do the same thing, which is useful on GitLab CI, Jenkins or anything else.
curl -X POST https://api.ironfang.uk/renderwolf/v1/screenshot \
-H "Authorization: Bearer $RENDERWOLF_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://preview.example.com", "width": 1440, "full_page": true}' \
--output preview.png