A GitHub Action to capture screenshots of a website, across Windows, Mac, and Linux
- name: Screenshot Website
uses: swinton/screenshot-website@v1.x
with:
source: https://github.com/swinton/screenshot-website
destination: screenshot.png
source
: Source of the content to be captured, may be a URL or HTML string, e.g.https://example.com/
destination
: Destination filename the captured website will be written to, defaults toscreenshot.png
Most of the options listed here (inputType
, width
, height
, etc.) can be passed as inputs, just pass in a kebab-cased equivalent, e.g. full-page
for fullPage
:
- name: Screenshot Website
uses: swinton/screenshot-website@v1.x
with:
source: https://github.com/swinton/screenshot-website
destination: screenshot.png
full-page: true
An artifact will be created automatically for each screenshot captured. The following additional outputs are also supported:
path
: The filesystem path to the captured screenshot
Use a matrix to capture screenshots across different operating systems, e.g.
jobs:
screenshot:
name: Screenshot
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Screenshot Website
uses: swinton/screenshot-website@v1.x
with:
source: https://github.com/swinton/screenshot-website
destination: screenshot-${{ matrix.os }}.png
Combine a matrix with additional options such as width, e.g.
jobs:
screenshot:
name: Screenshot
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
width: [1200, 992, 768, 600]
runs-on: ${{ matrix.os }}
steps:
- name: Screenshot Website
uses: swinton/screenshot-website@v1.x
with:
source: https://github.com/swinton/screenshot-website
destination: screenshot-${{ matrix.os }}-${{ matrix.width }}.png
width: ${{ matrix.width }}