Skip to content

merge screenshot testing workflows #23

merge screenshot testing workflows

merge screenshot testing workflows #23

name: Screenshot comparison
on:
push:
branches:
- "*"
pull_request:
branches:
- "*"
jobs:
check-screenshot:
name: Check Screenshot
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install node
uses: actions/setup-node@v4
with:
node-version: "21.x"
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: "x64"
- name: Install dependencies
run: pip install --upgrade pip
pip install --upgrade jupyterlab
pip install --upgrade voila
pip install --upgrade voila-osscar-template
pip install -e .
pip install --upgrade selenium
pip install --upgrade Pillow
- name: Run the voila server
run: |
voila --template=osscar --enable_nbextensions=True example/ --port 8383 --no-browser &
- uses: nanasess/setup-chromedriver@master
- name: Generate the screenshots
run: |
export DISPLAY=:99
chromedriver --url-base=/wd/hub &
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
python3 $GITHUB_WORKSPACE/test/test.py
- name: Upload screenshots
uses: actions/upload-artifact@v4
with:
name: artifact
path: "./*.png"
- name: Compare the screenshots to the reference one
run: |
python3 $GITHUB_WORKSPACE/test/test_figures.py