@@ -29,7 +29,7 @@ permissions:
29
29
jobs :
30
30
build-and-test :
31
31
name : Test Docker Selenium
32
- runs-on : ubuntu-24.04
32
+ runs-on : ${{ matrix.os }}
33
33
strategy :
34
34
fail-fast : false
35
35
matrix :
@@ -38,38 +38,129 @@ jobs:
38
38
use-random-user : true
39
39
test-video : false
40
40
build-all : true
41
+ os : ubuntu-24.04
42
+ firefox-install-lang-package :
43
+ enable-managed-downloads :
41
44
- test-strategy : test
42
45
use-random-user : false
43
46
test-video : false
44
47
build-all : true
48
+ os : ubuntu-24.04
49
+ firefox-install-lang-package :
50
+ enable-managed-downloads :
45
51
- test-strategy : test_video
46
52
use-random-user : false
47
53
test-video : true
48
54
build-all : false
55
+ os : ubuntu-24.04
56
+ firefox-install-lang-package :
57
+ enable-managed-downloads :
49
58
- test-strategy : test_video_dynamic_name
50
59
use-random-user : false
51
60
test-video : true
52
61
build-all : false
62
+ os : ubuntu-24.04
63
+ firefox-install-lang-package :
64
+ enable-managed-downloads :
53
65
- test-strategy : test_video_standalone
54
66
use-random-user : false
55
67
test-video : true
56
68
build-all : false
69
+ os : ubuntu-24.04
70
+ firefox-install-lang-package :
71
+ enable-managed-downloads :
57
72
- test-strategy : test_node_docker
58
73
use-random-user : false
59
74
test-video : true
60
75
build-all : false
76
+ os : ubuntu-24.04
77
+ firefox-install-lang-package :
78
+ enable-managed-downloads :
61
79
- test-strategy : test_standalone_docker
62
80
use-random-user : false
63
81
test-video : true
64
82
build-all : false
83
+ os : ubuntu-24.04
84
+ firefox-install-lang-package :
85
+ enable-managed-downloads :
65
86
- test-strategy : test_parallel
66
87
use-random-user : false
67
88
test-video : false
68
89
build-all : false
90
+ os : ubuntu-24.04
91
+ firefox-install-lang-package :
92
+ enable-managed-downloads :
69
93
- test-strategy : test_node_relay
70
94
use-random-user : false
71
95
test-video : false
72
96
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
73
164
steps :
74
165
- name : Free Disk Space (Ubuntu)
75
166
uses : jlumbroso/free-disk-space@main
96
187
python-version : ' 3.11'
97
188
check-latest : true
98
189
- name : Enable KVM
99
- if : matrix.test-strategy == 'test_node_relay'
190
+ if : matrix.test-strategy == 'test_node_relay' && contains(matrix.os, 'arm') == false
100
191
run : |
101
192
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
102
193
sudo udevadm control --reload-rules
@@ -143,19 +234,42 @@ jobs:
143
234
LOG_LEVEL : ${{ github.event.inputs.log-level || 'INFO' }}
144
235
TEST_PARALLEL_HARDENING : ${{ github.event.inputs.parallel-hardening || 'true' }}
145
236
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
147
250
uses : nick-invision/retry@master
148
251
with :
149
252
timeout_minutes : 40
150
253
max_attempts : 2
151
254
retry_wait_seconds : 60
152
255
command : |
153
256
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 }}
154
268
- name : Upload recorded video
155
269
if : matrix.test-video == true
156
270
uses : actions/upload-artifact@main
157
271
with :
158
- name : " ${{ matrix.test-strategy }}_artifacts "
272
+ name : " ${{ matrix.test-strategy }}_artifacts_${{ matrix.os }} "
159
273
path : ./tests/videos/
160
274
- name : Clean up Docker
161
275
if : always()
0 commit comments