@@ -29,7 +29,7 @@ permissions:
2929jobs :
3030 build-and-test :
3131 name : Test Docker Selenium
32- runs-on : ubuntu-24.04
32+ runs-on : ${{ matrix.os }}
3333 strategy :
3434 fail-fast : false
3535 matrix :
@@ -38,38 +38,129 @@ jobs:
3838 use-random-user : true
3939 test-video : false
4040 build-all : true
41+ os : ubuntu-24.04
42+ firefox-install-lang-package :
43+ enable-managed-downloads :
4144 - test-strategy : test
4245 use-random-user : false
4346 test-video : false
4447 build-all : true
48+ os : ubuntu-24.04
49+ firefox-install-lang-package :
50+ enable-managed-downloads :
4551 - test-strategy : test_video
4652 use-random-user : false
4753 test-video : true
4854 build-all : false
55+ os : ubuntu-24.04
56+ firefox-install-lang-package :
57+ enable-managed-downloads :
4958 - test-strategy : test_video_dynamic_name
5059 use-random-user : false
5160 test-video : true
5261 build-all : false
62+ os : ubuntu-24.04
63+ firefox-install-lang-package :
64+ enable-managed-downloads :
5365 - test-strategy : test_video_standalone
5466 use-random-user : false
5567 test-video : true
5668 build-all : false
69+ os : ubuntu-24.04
70+ firefox-install-lang-package :
71+ enable-managed-downloads :
5772 - test-strategy : test_node_docker
5873 use-random-user : false
5974 test-video : true
6075 build-all : false
76+ os : ubuntu-24.04
77+ firefox-install-lang-package :
78+ enable-managed-downloads :
6179 - test-strategy : test_standalone_docker
6280 use-random-user : false
6381 test-video : true
6482 build-all : false
83+ os : ubuntu-24.04
84+ firefox-install-lang-package :
85+ enable-managed-downloads :
6586 - test-strategy : test_parallel
6687 use-random-user : false
6788 test-video : false
6889 build-all : false
90+ os : ubuntu-24.04
91+ firefox-install-lang-package :
92+ enable-managed-downloads :
6993 - test-strategy : test_node_relay
7094 use-random-user : false
7195 test-video : false
7296 build-all : false
97+ os : ubuntu-24.04
98+ firefox-install-lang-package :
99+ enable-managed-downloads :
100+ # ##
101+ - test-strategy : test
102+ use-random-user : true
103+ test-video : false
104+ build-all : true
105+ os : ubuntu-24.04-arm
106+ firefox-install-lang-package : false
107+ enable-managed-downloads : false
108+ - test-strategy : test
109+ use-random-user : false
110+ test-video : false
111+ build-all : true
112+ os : ubuntu-24.04-arm
113+ firefox-install-lang-package : false
114+ enable-managed-downloads : false
115+ - test-strategy : test_video
116+ use-random-user : false
117+ test-video : true
118+ build-all : false
119+ os : ubuntu-24.04-arm
120+ firefox-install-lang-package : true
121+ enable-managed-downloads : true
122+ - test-strategy : test_video_dynamic_name
123+ use-random-user : false
124+ test-video : true
125+ build-all : false
126+ os : ubuntu-24.04-arm
127+ firefox-install-lang-package : true
128+ enable-managed-downloads : true
129+ - test-strategy : test_video_standalone
130+ use-random-user : false
131+ test-video : true
132+ build-all : false
133+ os : ubuntu-24.04-arm
134+ firefox-install-lang-package : true
135+ enable-managed-downloads : true
136+ - test-strategy : test_node_docker
137+ use-random-user : false
138+ test-video : true
139+ build-all : false
140+ os : ubuntu-24.04-arm
141+ firefox-install-lang-package : true
142+ enable-managed-downloads : false
143+ - test-strategy : test_standalone_docker
144+ use-random-user : false
145+ test-video : true
146+ build-all : false
147+ os : ubuntu-24.04-arm
148+ firefox-install-lang-package : true
149+ enable-managed-downloads : true
150+ - test-strategy : test_parallel
151+ use-random-user : false
152+ test-video : false
153+ build-all : false
154+ os : ubuntu-24.04-arm
155+ firefox-install-lang-package : false
156+ enable-managed-downloads : true
157+ - test-strategy : test_node_relay
158+ use-random-user : false
159+ test-video : false
160+ build-all : false
161+ os : ubuntu-24.04-arm
162+ firefox-install-lang-package : true
163+ enable-managed-downloads : true
73164 steps :
74165 - name : Free Disk Space (Ubuntu)
75166 uses : jlumbroso/free-disk-space@main
96187 python-version : ' 3.11'
97188 check-latest : true
98189 - name : Enable KVM
99- if : matrix.test-strategy == 'test_node_relay'
190+ if : matrix.test-strategy == 'test_node_relay' && contains(matrix.os, 'arm') == false
100191 run : |
101192 echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
102193 sudo udevadm control --reload-rules
@@ -143,19 +234,42 @@ jobs:
143234 LOG_LEVEL : ${{ github.event.inputs.log-level || 'INFO' }}
144235 TEST_PARALLEL_HARDENING : ${{ github.event.inputs.parallel-hardening || 'true' }}
145236 REQUEST_TIMEOUT : ${{ github.event.inputs.request-timeout || '400' }}
146- - name : Run Docker Compose to ${{ matrix.test-strategy }}
237+ - name : Set environment variables
238+ run : |
239+ if [ -n "${TEST_FIREFOX_INSTALL_LANG_PACKAGE}" ]; then
240+ echo "TEST_FIREFOX_INSTALL_LANG_PACKAGE=${TEST_FIREFOX_INSTALL_LANG_PACKAGE}" >> $GITHUB_ENV
241+ fi
242+ if [ -n "${SELENIUM_ENABLE_MANAGED_DOWNLOADS}" ]; then
243+ echo "SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS}" >> $GITHUB_ENV
244+ fi
245+ env :
246+ TEST_FIREFOX_INSTALL_LANG_PACKAGE : ${{ matrix.firefox-install-lang-package }}
247+ SELENIUM_ENABLE_MANAGED_DOWNLOADS : ${{ matrix.enable-managed-downloads }}
248+ - name : Run Docker Compose to ${{ matrix.test-strategy }} on AMD64
249+ if : contains(matrix.os, 'arm') == false
147250 uses : nick-invision/retry@master
148251 with :
149252 timeout_minutes : 40
150253 max_attempts : 2
151254 retry_wait_seconds : 60
152255 command : |
153256 USE_RANDOM_USER_ID=${{ matrix.use-random-user }} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make ${{ matrix.test-strategy }}
257+ - name : Run Docker Compose to ${{ matrix.test-strategy }} on ARM64
258+ if : contains(matrix.os, 'arm') == true
259+ uses : nick-invision/retry@master
260+ with :
261+ timeout_minutes : 40
262+ max_attempts : 2
263+ retry_wait_seconds : 60
264+ command : |
265+ USE_RANDOM_USER_ID=${{ matrix.use-random-user }} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} \
266+ TEST_FIREFOX_INSTALL_LANG_PACKAGE=${TEST_FIREFOX_INSTALL_LANG_PACKAGE} SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS} \
267+ make ${{ matrix.test-strategy }}
154268 - name : Upload recorded video
155269 if : matrix.test-video == true
156270 uses : actions/upload-artifact@main
157271 with :
158- name : " ${{ matrix.test-strategy }}_artifacts "
272+ name : " ${{ matrix.test-strategy }}_artifacts_${{ matrix.os }} "
159273 path : ./tests/videos/
160274 - name : Clean up Docker
161275 if : always()
0 commit comments