1414 APPIUM_TEST_SERVER_PORT : ' 4723'
1515 APPIUM_TEST_SERVER_HOST : ' 127.0.0.1'
1616 PYTHONUNBUFFERED : 1
17+ UV_LOCKED : ' true'
1718
1819jobs :
1920 ios_test :
21+ timeout-minutes : 60
2022 strategy :
2123 fail-fast : false
2224 matrix :
@@ -80,39 +82,37 @@ jobs:
8082 with :
8183 python-version : 3.14
8284
83- - name : Cache uv modules
84- uses : actions/cache@v6
85+ - name : Set up uv
86+ uses : astral-sh/setup-uv@v10.1.0
8587 with :
86- path : |
87- ~/.cache/uv
88- .venv
89- key : ${{ runner.os }}-uv-shared-${{ hashFiles('**/uv.lock') }}
90- restore-keys : |
91- ${{ runner.os }}-uv-shared-
92-
93- - name : Install uv
94- run : make install-uv
88+ enable-cache : true
89+ python-version : ' 3.14'
9590
9691 - name : Run Tests
9792 run : |
9893 uv run pytest -v ${{ matrix.test_targets.target}} \
9994 --doctest-modules \
10095 --junitxml=junit/test-results.xml \
101- --cov=com \
96+ --cov=appium \
10297 --cov-report=xml \
10398 --cov-report=html
10499 env :
105100 LOCAL_PREBUILT_WDA : ${{ env.PREBUILT_WDA_PATH }}
106101
107- - name : Save server output
102+ - name : Save test diagnostics
108103 if : ${{ always() }}
109104 uses : actions/upload-artifact@master
110105 with :
111- name : appium-ios-${{matrix.test_targets.name}}.log
112- path : appium.log
106+ name : appium-ios-${{matrix.test_targets.name}}-diagnostics
107+ path : |
108+ appium.log
109+ junit/
110+ coverage.xml
111+ htmlcov/
113112
114113
115114 android_test :
115+ timeout-minutes : 60
116116 strategy :
117117 fail-fast : false
118118 matrix :
@@ -189,24 +189,19 @@ jobs:
189189 with :
190190 python-version : 3.14
191191
192- - name : Cache uv modules
193- uses : actions/cache@v6
192+ - name : Set up uv
193+ uses : astral-sh/setup-uv@v10.1.0
194194 with :
195- path : |
196- ~/.cache/uv
197- .venv
198- key : ${{ runner.os }}-uv-shared-${{ hashFiles('**/uv.lock') }}
199- restore-keys : |
200- ${{ runner.os }}-uv-shared-
195+ enable-cache : true
196+ python-version : ' 3.14'
201197
202198 - name : Run tests
203199 uses : reactivecircus/android-emulator-runner@v2
204200 with :
205201 api-level : ${{ env.API_LEVEL }}
206202 arch : ${{ env.ARCH }}
207203 script : |
208- make install-uv
209- uv run pytest -v ${{ matrix.test_targets.target}} --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html
204+ uv run pytest -v ${{ matrix.test_targets.target}} --doctest-modules --junitxml=junit/test-results.xml --cov=appium --cov-report=xml --cov-report=html
210205 target : google_apis
211206 profile : Nexus 5X
212207 disable-spellchecker : true
@@ -218,14 +213,19 @@ jobs:
218213 IGNORE_VERSION_SKIP : true
219214 CI : true
220215
221- - name : Save server output
216+ - name : Save test diagnostics
222217 if : ${{ always() }}
223218 uses : actions/upload-artifact@master
224219 with :
225- name : appium-android-${{matrix.test_targets.name}}.log
226- path : appium.log
220+ name : appium-android-${{matrix.test_targets.name}}-diagnostics
221+ path : |
222+ appium.log
223+ junit/
224+ coverage.xml
225+ htmlcov/
227226
228227 flutter_e2e_test :
228+ timeout-minutes : 60
229229 # These flutter integration driver tests are maintained by: MummanaSubramanya
230230 strategy :
231231 fail-fast : false
@@ -305,24 +305,19 @@ jobs:
305305 server_args : ' --relaxed-security'
306306 log_file : appium-${{ matrix.e2e-tests }}.log
307307
308- - name : Cache uv modules
309- uses : actions/cache@v6
308+ - name : Set up uv
309+ uses : astral-sh/setup-uv@v10.1.0
310310 with :
311- path : |
312- ~/.cache/uv
313- .venv
314- key : ${{ runner.os }}-uv-shared-${{ hashFiles('**/uv.lock') }}
315- restore-keys : |
316- ${{ runner.os }}-uv-shared-
311+ enable-cache : true
312+ python-version : ' 3.14'
317313
318314 - name : Run Android tests
319315 if : matrix.e2e-tests == 'flutter-android'
320316 uses : reactivecircus/android-emulator-runner@v2
321317 with :
322318 api-level : ${{ env.API_LEVEL }}
323319 script : |
324- make install-uv
325- uv run pytest -v test/functional/flutter_integration/*_test.py --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html
320+ uv run pytest -v test/functional/flutter_integration/*_test.py --doctest-modules --junitxml=junit/test-results.xml --cov=appium --cov-report=xml --cov-report=html
326321 target : default
327322 disable-spellchecker : true
328323 disable-animations : true
@@ -349,20 +344,23 @@ jobs:
349344 - name : Run IOS tests
350345 if : matrix.e2e-tests == 'flutter-ios'
351346 run : |
352- make install-uv
353347 export PLATFORM=ios
354348 uv run pytest -v test/functional/flutter_integration/*_test.py \
355349 --doctest-modules \
356350 --junitxml=junit/test-results.xml \
357- --cov=com \
351+ --cov=appium \
358352 --cov-report=xml \
359353 --cov-report=html
360354 env :
361355 LOCAL_PREBUILT_WDA : ${{ env.PREBUILT_WDA_PATH }}
362356
363- - name : Save server output
357+ - name : Save test diagnostics
364358 if : ${{ always() }}
365359 uses : actions/upload-artifact@master
366360 with :
367- name : appium-${{ matrix.e2e-tests }}.log
368- path : appium-${{ matrix.e2e-tests }}.log
361+ name : appium-${{ matrix.e2e-tests }}-diagnostics
362+ path : |
363+ appium-${{ matrix.e2e-tests }}.log
364+ junit/
365+ coverage.xml
366+ htmlcov/
0 commit comments