[pre-commit.ci] auto fixes from pre-commit.com hooks #2035
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] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
ui-tests: | |
name: Visual Regression | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
jupyter-server-version: ['1.24.0', '2.14.2'] | |
progressive_rendering: [false, true] | |
ipywidgets: ['latest', '7'] | |
exclude: | |
- jupyter-server-version: '1.24.0' | |
progressive_rendering: true | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Base Setup | |
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
- name: Install dependencies | |
if: ${{ matrix.ipywidgets == 'latest' }} | |
run: | | |
python -m pip install -r requirements-visual-test.txt | |
python -m pip install jupyterlab_miami_nights --no-deps | |
python -m pip install ".[test]" | |
python -m pip install jupyter-server==${{ matrix.jupyter-server-version }} | |
jlpm | |
jlpm build | |
jupyter labextension develop . --overwrite | |
cd ui-tests | |
jlpm install | |
- name: Install dependencies | |
if: ${{ matrix.ipywidgets == '7' }} | |
run: | | |
python -m pip install -r requirements-visual-test.txt | |
python -m pip install jupyterlab_miami_nights --no-deps | |
python -m pip install ".[test7]" | |
python -m pip install jupyter-server==${{ matrix.jupyter-server-version }} | |
jlpm | |
jlpm build | |
jupyter labextension develop . --overwrite | |
cd ui-tests | |
jlpm install | |
- name: Launch Voila | |
run: | | |
# Mount a volume to overwrite the server configuration | |
jlpm start --progressive_rendering=${{ matrix.progressive_rendering }} 2>&1 > /tmp/voila_server.log & | |
working-directory: ui-tests | |
- name: Install browser | |
run: npx playwright install chromium | |
working-directory: ui-tests | |
- name: Wait for Voila | |
uses: ifaxity/wait-on-action@v1 | |
with: | |
resource: http-get://localhost:8866/ | |
timeout: 360000 | |
- name: Test | |
env: | |
PROGRESSIVE_RENDERING: ${{ matrix.progressive_rendering }} | |
run: jlpm run test | |
working-directory: ui-tests | |
- name: Set test report name for progressive rendering | |
if: always() && matrix.progressive_rendering == true | |
run: | | |
echo "TEST_REPORT_NAME=progressive-voila-test-report-server_${{ matrix.jupyter-server-version }}-ipywidget_${{ matrix.ipywidgets }}" >> $GITHUB_ENV | |
echo "TEST_ASSETS_NAME=progressive-voila-test-assets-server_${{ matrix.jupyter-server-version }}-ipywidget_${{ matrix.ipywidgets }}" >> $GITHUB_ENV | |
echo "TEST_BENCHMARK_NAME=progressive-voila-test-benchmark-server_${{ matrix.jupyter-server-version }}-ipywidget_${{ matrix.ipywidgets }}" >> $GITHUB_ENV | |
- name: Set test report name for non-progressive rendering | |
if: always() && matrix.progressive_rendering == false | |
run: | | |
echo "TEST_REPORT_NAME=voila-test-report-server_${{ matrix.jupyter-server-version }}-ipywidget_${{ matrix.ipywidgets }}" >> $GITHUB_ENV | |
echo "TEST_ASSETS_NAME=voila-test-assets-server_${{ matrix.jupyter-server-version }}-ipywidget_${{ matrix.ipywidgets }}" >> $GITHUB_ENV | |
echo "TEST_BENCHMARK_NAME=voila-test-benchmark-server_${{ matrix.jupyter-server-version }}-ipywidget_${{ matrix.ipywidgets }}" >> $GITHUB_ENV | |
- name: Upload Playwright Test assets | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.TEST_ASSETS_NAME }} | |
path: | | |
ui-tests/test-results | |
- name: Upload Playwright Benchmark report | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.TEST_BENCHMARK_NAME }} | |
path: | | |
ui-tests/benchmark-results | |
- name: Upload Playwright Test report | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.TEST_REPORT_NAME }} | |
path: | | |
ui-tests/playwright-report | |
- name: Print Voila logs | |
if: always() | |
run: | | |
cat /tmp/voila_server.log |