Skip to content

Commit e480b5d

Browse files
committed
Creating new GA workflow
1 parent c5c21ea commit e480b5d

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

.github/workflows/Select.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Select Configurations
2+
3+
on: workflow_dispatch
4+
5+
jobs:
6+
test_config:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
matrix:
10+
config:
11+
- description: latest
12+
python-version: 3.13.10
13+
rf-version: 7.4.1
14+
selenium-version: 4.39.0
15+
browser: chrome
16+
- description: previous
17+
python-version: 3.12.12
18+
rf-version: 7.3.2
19+
selenium-version: 4.38.0
20+
browser: firefox
21+
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: Configuration Description
25+
run: |
26+
echo "${{ matrix.config.description }} configuration"
27+
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 }}"
28+
- name: Set up Python ${{ matrix.config.python-version }}
29+
uses: actions/setup-python@v5
30+
with:
31+
python-version: ${{ matrix.config.python-version }}
32+
- name: Setup ${{ matrix.config.browser }} browser
33+
uses: browser-actions/setup-chrome@v1
34+
with:
35+
chrome-version: 138
36+
install-dependencies: true
37+
install-chromedriver: true
38+
id: setup-chrome
39+
- run: |
40+
echo Installed chromium version: ${{ steps.setup-chrome.outputs.chrome-version }}
41+
${{ steps.setup-chrome.outputs.chrome-path }} --version
42+
- name: Setup firefox
43+
id: setup-firefox
44+
uses: browser-actions/setup-firefox@v1
45+
with:
46+
firefox-version: latest
47+
- run: |
48+
echo Installed firefox versions: ${{ steps.setup-firefox.outputs.firefox-version }}
49+
${{ steps.setup-firefox.outputs.firefox-path }} --version
50+
- name: Start xvfb
51+
run: |
52+
export DISPLAY=:99.0
53+
Xvfb -ac :99 -screen 0 1280x1024x16 > /dev/null 2>&1 &
54+
- name: Install dependencies
55+
run: |
56+
python -m pip install --upgrade pip
57+
pip install -r requirements-dev.txt
58+
- name: Install Seleninum v${{ matrix.config.selenium-version }}
59+
run: |
60+
pip install --upgrade selenium==${{ matrix.config.selenium-version }}
61+
- name: Install RF ${{ matrix.config.rf-version }}
62+
run: |
63+
pip install -U --pre robotframework==${{ matrix.config.rf-version }}
64+
- name: Install drivers via selenium-manager
65+
run: |
66+
SELENIUM_MANAGER_EXE=$(python -c 'from selenium.webdriver.common.selenium_manager import SeleniumManager; sm=SeleniumManager(); print(f"{str(sm._get_binary())}")')
67+
echo "$SELENIUM_MANAGER_EXE"
68+
echo "WEBDRIVERPATH=$($SELENIUM_MANAGER_EXE --browser chrome --debug | awk '/INFO[[:space:]]Driver path:/ {print $NF;exit}')" >> "$GITHUB_ENV"
69+
echo "$WEBDRIVERPATH"
70+
71+
- name: Run tests under specified config
72+
run: |
73+
xvfb-run --auto-servernum python atest/run.py --zip ${{ matrix.browser }}
74+
75+
- uses: actions/upload-artifact@v4
76+
if: failure()
77+
with:
78+
name: sl_$${{ matrix.config.python-version }}_$${{ matrix.config.rf-version }}_$${{ matrix.config.selenium-version }}_$${{ matrix.config.browser }}
79+
path: atest/zip_results
80+
overwrite: true

0 commit comments

Comments
 (0)