2525 strategy :
2626 fail-fast : false
2727 matrix :
28- os : [ ubuntu, windows, macos ]
29- release : [ stable, nightly ]
28+ include :
29+ - os : ubuntu
30+ release : stable
31+ python : ' 3.8'
32+ - os : ubuntu
33+ release : nightly
34+ python : ' 3.11'
35+ - os : windows
36+ release : stable
37+ python : ' 3.9'
38+ - os : windows
39+ release : nightly
40+ python : ' 3.12'
41+ - os : macos
42+ release : stable
43+ python : ' 3.10'
44+ - os : macos
45+ release : nightly
46+ python : ' 3.13'
3047 runs-on : ${{ format('{0}-latest', matrix.os) }}
3148 steps :
3249 - name : Checkout GitHub repo
@@ -47,14 +64,25 @@ jobs:
4764 - name : Set up Python
4865 uses : actions/setup-python@v5
4966 with :
50- python-version : 3.8
51- - name : Install dependencies nightly
52- if : matrix.release == 'nightly'
53- working-directory : ./examples/python
67+ python-version : ${{ matrix.python }}
68+ - name : Install dependencies nightly non-Windows
69+ if : matrix.release == 'nightly' && matrix.os != 'windows'
70+ run : |
71+ pip install -r ./scripts/requirements.txt
72+ latest_nightly_python=$(python ./scripts/latest-python-nightly-version.py)
73+ cd examples/python
74+ python -m pip install --upgrade pip
75+ pip install -r requirements.txt
76+ pip install --index-url https://test.pypi.org/simple/ selenium==$latest_nightly_python --extra-index-url https://pypi.org/simple/ --upgrade --force-reinstall --break-system-packages
77+ - name : Install dependencies nightly Windows
78+ if : matrix.release == 'nightly' && matrix.os == 'windows'
5479 run : |
80+ pip install -r ./scripts/requirements.txt
81+ $latest_nightly_python = python ./scripts/latest-python-nightly-version.py
82+ cd examples/python
5583 python -m pip install --upgrade pip
5684 pip install -r requirements.txt
57- pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple --force-reinstall -v selenium
85+ pip install --index-url https://test.pypi.org/simple/ selenium==$latest_nightly_python --extra-index-url https://pypi.org/simple/ --upgrade -- force-reinstall --break-system-packages
5886 - name : Install dependencies stable
5987 if : matrix.release == 'stable'
6088 working-directory : ./examples/python
6997 - name : Run tests
7098 uses : nick-invision/retry@v3.0.0
7199 with :
72- timeout_minutes : 20
100+ timeout_minutes : 60
73101 max_attempts : 3
74102 command : |
75103 cd examples/python
76- pytest
104+ pytest --reruns 3
0 commit comments