Fix typo #2679
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: UI Tests | |
on: [push, pull_request] | |
env: | |
CACHE_EPOCH: 0 | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build dist | |
uses: ./.github/actions/build-dist | |
- name: Install JupyterLite | |
run: | | |
python3 -m pip install importlib_metadata 'doit >=0.34,<1' jupyter_core jupyterlab~=4.0 | |
python3 -m pip install --find-links dist --no-index jupyterlite_core | |
- name: Build JupyterLite | |
run: | | |
cd ui-tests | |
jlpm | |
# Install test dependencies | |
python3 -m pip install -r requirements.txt --no-deps | |
# Build the JupyterLite website | |
jlpm build | |
- name: Upload the JupyterLite website | |
uses: actions/upload-artifact@v4 | |
with: | |
name: jupyterlite-ui-tests-app-${{ github.run_number }} | |
path: ./ui-tests/ui-tests-app | |
ui-tests: | |
needs: [build] | |
name: Visual Regression | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
browser: [firefox, chromium] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: jupyterlite-ui-tests-app-${{ github.run_number }} | |
path: ./ui-tests/ui-tests-app | |
- name: Cache (ui-tests/node_modules) | |
uses: actions/cache@v4 | |
id: cache-ui-tests-node-modules | |
with: | |
path: ui-tests/node_modules/ | |
key: | | |
${{ env.CACHE_EPOCH }}-${{ runner.os }}-node-modules-${{ hashFiles('ui-tests/yarn.lock') }} | |
- name: Install dependencies and browser | |
run: | | |
# Install JupyterLab to get jlpm | |
python -m pip install jupyterlab~=4.0 | |
cd ui-tests | |
jlpm | |
jlpm playwright install | |
- name: Test | |
run: | | |
cd ui-tests | |
jlpm run test --browser ${{ matrix.browser }} | |
- name: Upload Playwright Test assets | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: jupyterlite-${{ matrix.browser }}-test-assets | |
path: | | |
ui-tests/test-results | |
- name: Upload Playwright Test report | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: jupyterlite-${{ matrix.browser }}-test-report | |
path: | | |
ui-tests/playwright-report | |
- name: Update snapshots | |
if: failure() | |
run: | | |
cd ui-tests | |
# remove previous snapshots from other browser | |
jlpm run clean:snapshots | |
# generate new snapshots | |
jlpm run test:update --browser ${{ matrix.browser }} | |
- name: Upload updated snapshots | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: jupyterlite-${{ matrix.browser }}-updated-snapshots | |
path: ui-tests/test |