@@ -3,7 +3,7 @@ name: Playwright E2E Tests
33on :
44 push :
55 branches :
6- - " main"
6+ - ' main'
77 pull_request :
88 types : [opened, synchronize, reopened]
99 # Allows workflow to be called from other workflows
@@ -21,6 +21,10 @@ concurrency:
2121jobs :
2222 playwright-e2e-tests :
2323 runs-on : ubuntu-latest
24+ strategy :
25+ fail-fast : false
26+ matrix :
27+ streamlit : ['1.50.0', 'latest']
2428
2529 defaults :
2630 run :
@@ -32,12 +36,12 @@ jobs:
3236 with :
3337 ref : ${{ inputs.ref }}
3438 persist-credentials : false
35- submodules : " recursive"
39+ submodules : ' recursive'
3640 fetch-depth : 2
3741 - name : Set up Python 3.12
3842 uses : actions/setup-python@v5
3943 with :
40- python-version : " 3.12"
44+ python-version : ' 3.12'
4145 - name : Enable and Prepare Latest Yarn
4246 run : |
4347 corepack enable
4650 - name : Setup Node
4751 uses : actions/setup-node@v4
4852 with :
49- node-version-file : " .nvmrc"
50- cache : " yarn"
51- cache-dependency-path : " **/yarn.lock"
53+ node-version-file : ' .nvmrc'
54+ cache : ' yarn'
55+ cache-dependency-path : ' **/yarn.lock'
5256 - name : Make frontend
5357 run : |
5458 cd streamlit_bokeh/frontend
8892 source venv/bin/activate
8993 pip install --upgrade pip
9094 pip install -r e2e_playwright/test-requirements.txt
95+ if [[ "${{ matrix.streamlit }}" == "latest" ]]; then
96+ pip install streamlit
97+ else
98+ pip install "streamlit==${{ matrix.streamlit }}"
99+ fi
91100 python -m playwright install --with-deps
92101 - name : Run playwright tests
93102 run : |
98107 uses : actions/upload-artifact@v4
99108 if : always()
100109 with :
101- name : playwright_test_results
110+ name : playwright_test_results-${{ matrix.streamlit }}
102111 path : e2e_playwright/test-results
0 commit comments