@@ -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,111 @@ jobs:
3838 use-random-user : true
3939 test-video : false
4040 build-all : true
41+ os : ubuntu-24.04
4142 - test-strategy : test
4243 use-random-user : false
4344 test-video : false
4445 build-all : true
46+ os : ubuntu-24.04
4547 - test-strategy : test_video
4648 use-random-user : false
4749 test-video : true
4850 build-all : false
51+ os : ubuntu-24.04
4952 - test-strategy : test_video_dynamic_name
5053 use-random-user : false
5154 test-video : true
5255 build-all : false
56+ os : ubuntu-24.04
5357 - test-strategy : test_video_standalone
5458 use-random-user : false
5559 test-video : true
5660 build-all : false
61+ os : ubuntu-24.04
5762 - test-strategy : test_node_docker
5863 use-random-user : false
5964 test-video : true
6065 build-all : false
66+ os : ubuntu-24.04
6167 - test-strategy : test_standalone_docker
6268 use-random-user : false
6369 test-video : true
6470 build-all : false
71+ os : ubuntu-24.04
6572 - test-strategy : test_parallel
6673 use-random-user : false
6774 test-video : false
6875 build-all : false
76+ os : ubuntu-24.04
6977 - test-strategy : test_node_relay
7078 use-random-user : false
7179 test-video : false
7280 build-all : false
81+ os : ubuntu-24.04
82+ # ##
83+ - test-strategy : test
84+ use-random-user : true
85+ test-video : false
86+ build-all : true
87+ os : ubuntu-24.04-arm
88+ firefox-install-lang-package : false
89+ enable-managed-downloads : false
90+ - test-strategy : test
91+ use-random-user : false
92+ test-video : false
93+ build-all : true
94+ os : ubuntu-24.04-arm
95+ firefox-install-lang-package : false
96+ enable-managed-downloads : false
97+ - test-strategy : test_video
98+ use-random-user : false
99+ test-video : true
100+ build-all : false
101+ os : ubuntu-24.04-arm
102+ firefox-install-lang-package : true
103+ enable-managed-downloads : true
104+ - test-strategy : test_video_dynamic_name
105+ use-random-user : false
106+ test-video : true
107+ build-all : false
108+ os : ubuntu-24.04-arm
109+ firefox-install-lang-package : true
110+ enable-managed-downloads : true
111+ - test-strategy : test_video_standalone
112+ use-random-user : false
113+ test-video : true
114+ build-all : false
115+ os : ubuntu-24.04-arm
116+ firefox-install-lang-package : true
117+ enable-managed-downloads : true
118+ - test-strategy : test_node_docker
119+ use-random-user : false
120+ test-video : true
121+ build-all : false
122+ os : ubuntu-24.04-arm
123+ firefox-install-lang-package : true
124+ enable-managed-downloads : false
125+ - test-strategy : test_standalone_docker
126+ use-random-user : false
127+ test-video : true
128+ build-all : false
129+ os : ubuntu-24.04-arm
130+ firefox-install-lang-package : true
131+ enable-managed-downloads : true
132+ - test-strategy : test_parallel
133+ use-random-user : false
134+ test-video : false
135+ build-all : false
136+ os : ubuntu-24.04-arm
137+ firefox-install-lang-package : false
138+ enable-managed-downloads : true
139+ - test-strategy : test_node_relay
140+ use-random-user : false
141+ test-video : false
142+ build-all : false
143+ os : ubuntu-24.04-arm
144+ firefox-install-lang-package : true
145+ enable-managed-downloads : true
73146 steps :
74147 - name : Free Disk Space (Ubuntu)
75148 uses : jlumbroso/free-disk-space@main
96169 python-version : ' 3.11'
97170 check-latest : true
98171 - name : Enable KVM
99- if : matrix.test-strategy == 'test_node_relay'
172+ if : matrix.test-strategy == 'test_node_relay' && contains(matrix.os, 'arm') == false
100173 run : |
101174 echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
102175 sudo udevadm control --reload-rules
@@ -143,19 +216,41 @@ jobs:
143216 LOG_LEVEL : ${{ github.event.inputs.log-level || 'INFO' }}
144217 TEST_PARALLEL_HARDENING : ${{ github.event.inputs.parallel-hardening || 'true' }}
145218 REQUEST_TIMEOUT : ${{ github.event.inputs.request-timeout || '400' }}
146- - name : Run Docker Compose to ${{ matrix.test-strategy }}
219+ - name : Set environment variables
220+ run : |
221+ TEST_FIREFOX_INSTALL_LANG_PACKAGE=${{ matrix.firefox-install-lang-package || '' }}
222+ if [ -n "${TEST_FIREFOX_INSTALL_LANG_PACKAGE}" ]; then
223+ echo "TEST_FIREFOX_INSTALL_LANG_PACKAGE=${TEST_FIREFOX_INSTALL_LANG_PACKAGE}" >> $GITHUB_ENV
224+ fi
225+ SELENIUM_ENABLE_MANAGED_DOWNLOADS=${{ matrix.enable-managed-downloads || '' }}
226+ if [ -n "${SELENIUM_ENABLE_MANAGED_DOWNLOADS}" ]; then
227+ echo "SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS}" >> $GITHUB_ENV
228+ fi
229+ - name : Run Docker Compose to ${{ matrix.test-strategy }} on ${{ matrix.os }}
230+ if : contains(matrix.os, 'arm') == false
147231 uses : nick-invision/retry@master
148232 with :
149233 timeout_minutes : 40
150234 max_attempts : 2
151235 retry_wait_seconds : 60
152236 command : |
153237 USE_RANDOM_USER_ID=${{ matrix.use-random-user }} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make ${{ matrix.test-strategy }}
238+ - name : Run Docker Compose to ${{ matrix.test-strategy }} on ${{ matrix.os }}
239+ if : contains(matrix.os, 'arm') == true
240+ uses : nick-invision/retry@master
241+ with :
242+ timeout_minutes : 40
243+ max_attempts : 2
244+ retry_wait_seconds : 60
245+ command : |
246+ USE_RANDOM_USER_ID=${{ matrix.use-random-user }} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} \
247+ TEST_FIREFOX_INSTALL_LANG_PACKAGE=${TEST_FIREFOX_INSTALL_LANG_PACKAGE} SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS} \
248+ make ${{ matrix.test-strategy }}
154249 - name : Upload recorded video
155250 if : matrix.test-video == true
156251 uses : actions/upload-artifact@main
157252 with :
158- name : " ${{ matrix.test-strategy }}_artifacts "
253+ name : " ${{ matrix.test-strategy }}_artifacts_${{ matrix.os }} "
159254 path : ./tests/videos/
160255 - name : Clean up Docker
161256 if : always()
0 commit comments