1+ name : Selected Test Configuration Matrix
2+
3+ on : [push, pull_request]
4+
5+ jobs :
6+ test_config :
7+ runs-on : ubuntu-latest
8+ continue-on-error : true
9+ strategy :
10+ matrix :
11+ config :
12+ - description : latest
13+ python-version : 3.13.10
14+ rf-version : 7.4.1
15+ selenium-version : 4.39.0
16+ browser : chrome
17+ - description : previous
18+ python-version : 3.12.12
19+ rf-version : 7.3.2
20+ selenium-version : 4.38.0
21+ browser : chrome
22+ - description : older_rf_version
23+ python-version : 3.11.14
24+ rf-version : 6.1.1
25+ selenium-version : 4.37.0
26+ browser : chrome
27+
28+ steps :
29+ - uses : actions/checkout@v4
30+ - name : Configuration Description
31+ run : |
32+ echo "${{ matrix.config.description }} configuration"
33+ echo "Testing with RF v${{ matrix.config.rf-version }}, Selenium v${{ matrix.config.selenium-version}}, Python v${{ matrix.config.python-version }} under ${{ matrix.config.browser }}"
34+ - name : Set up Python ${{ matrix.config.python-version }}
35+ uses : actions/setup-python@v5
36+ with :
37+ python-version : ${{ matrix.config.python-version }}
38+ - name : Setup ${{ matrix.config.browser }} browser
39+ uses : browser-actions/setup-chrome@v1
40+ with :
41+ chrome-version : latest
42+ install-dependencies : true
43+ id : setup-chrome
44+ - run : |
45+ echo Installed chromium version: ${{ steps.setup-chrome.outputs.chrome-version }}
46+ ${{ steps.setup-chrome.outputs.chrome-path }} --version
47+ - name : Setup firefox
48+ id : setup-firefox
49+ uses : browser-actions/setup-firefox@v1
50+ with :
51+ firefox-version : latest
52+ - run : |
53+ echo Installed firefox versions: ${{ steps.setup-firefox.outputs.firefox-version }}
54+ ${{ steps.setup-firefox.outputs.firefox-path }} --version
55+ - name : Start xvfb
56+ run : |
57+ export DISPLAY=:99.0
58+ Xvfb -ac :99 -screen 0 1280x1024x16 > /dev/null 2>&1 &
59+ - name : Install dependencies
60+ run : |
61+ python -m pip install --upgrade pip
62+ pip install -r requirements-dev.txt
63+ - name : Install Seleninum v${{ matrix.config.selenium-version }}
64+ run : |
65+ pip install --upgrade selenium==${{ matrix.config.selenium-version }}
66+ - name : Install RF ${{ matrix.config.rf-version }}
67+ run : |
68+ pip install -U --pre robotframework==${{ matrix.config.rf-version }}
69+
70+ - name : Run tests under specified config
71+ run : |
72+ xvfb-run --auto-servernum python atest/run.py --zip ${{ matrix.config.browser }}
73+
74+ - uses : actions/upload-artifact@v4
75+ if : failure()
76+ with :
77+ name : sl_$${{ matrix.config.python-version }}_$${{ matrix.config.rf-version }}_$${{ matrix.config.selenium-version }}_$${{ matrix.config.browser }}
78+ path : atest/zip_results
79+ overwrite : true
0 commit comments