Skip to content

Bug 1993054 - Add iOS versions to mobile product details#1797

Draft
Eijebong wants to merge 1 commit into
mozilla-releng:mainfrom
Eijebong:ios-mobile-versions-json
Draft

Bug 1993054 - Add iOS versions to mobile product details#1797
Eijebong wants to merge 1 commit into
mozilla-releng:mainfrom
Eijebong:ios-mobile-versions-json

Bug 1993054 - Add iOS versions to mobile product details

d4566e1
Select commit
Loading
Failed to load commit list.
firefoxci-taskcluster / tests-api-python-312 succeeded Oct 8, 2025 in 3m 29s

FirefoxCI (pull_request)

api-python tox-py312

Details

View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster

Task Status

Started: 2025-10-08T16:14:13.522Z
Resolved: 2025-10-08T16:16:13.290Z
Task Execution Time: 1 minute, 59 seconds, 768 milliseconds
Task Status: completed
Reason Resolved: completed
RunId: 0

Artifacts

- public/coverage.xml
- public/logs/live_backing.log
- public/logs/live.log


[taskcluster 2025-10-08 16:14:13.591Z] Task ID: DO3l1vB0TMSaVoMvGWwSSg
[taskcluster 2025-10-08 16:14:13.591Z] Worker ID: 2705814422987420515
[taskcluster 2025-10-08 16:14:13.591Z] Worker Group: us-central1-c
[taskcluster 2025-10-08 16:14:13.591Z] Worker Node Type: projects/887720501152/machineTypes/c2-standard-4
[taskcluster 2025-10-08 16:14:13.591Z] Worker Pool: releng-t/linux-gcp
[taskcluster 2025-10-08 16:14:13.591Z] Worker Version: 38.0.5
[taskcluster 2025-10-08 16:14:13.591Z] Public IP: 34.31.26.28
[taskcluster 2025-10-08 16:14:13.591Z] Hostname: releng-t-linux-gcp-o0hajfnuqfwqmkvk-i8guq
[taskcluster 2025-10-08 16:14:13.591Z] using cache "releng-level-1-uv-v3-581ca6876fac84fa2dd8-Xpp2Ur-SQW-Ln-v0s9Qqlg" -> /builds/worker/.task-cache/uv
[taskcluster 2025-10-08 16:14:13.591Z] using cache "releng-level-1-checkouts-v3-581ca6876fac84fa2dd8-Xpp2Ur-SQW-Ln-v0s9Qqlg" -> /builds/worker/checkouts

[taskcluster 2025-10-08 16:14:16.165Z] Downloading artifact "public/image.tar.zst" from task ID: Xpp2Ur-SQW-Ln-v0s9Qqlg.
[taskcluster 2025-10-08 16:14:19.679Z] Downloaded artifact successfully.
[taskcluster 2025-10-08 16:14:19.679Z] Downloaded 287.036 mb
[taskcluster 2025-10-08 16:14:19.680Z] Decompressing downloaded image
[taskcluster 2025-10-08 16:14:21.765Z] Loading docker image from downloaded archive.
[taskcluster 2025-10-08 16:14:38.718Z] Image 'public/image.tar.zst' from task 'Xpp2Ur-SQW-Ln-v0s9Qqlg' loaded.  Using image ID sha256:00d7d470722fb87dc92298ed520886724d605228052e2190c0a9fd71c11ae219.
[taskcluster 2025-10-08 16:14:39.009Z] === Task Starting ===
[setup 2025-10-08T16:14:42.138+00:00] run-task started in /builds/worker
[setup 2025-10-08T16:14:42.138+00:00] Invoked by command: --shipit-checkout=/builds/worker/checkouts/vcs/ --task-cwd /builds/worker/checkouts/vcs -- sh -lxce cd api && uv run tox --parallel -e clean,check,py312,report

...(215 lines hidden)...

[task 2025-10-08T16:16:10.242+00:00] tests/test_release.py::test_bump_version[firefox-android-108.0.0-108.0.1] 
[task 2025-10-08T16:16:10.242+00:00] [gw1] [ 53%] PASSED tests/test_release.py::test_bump_version[firefox-android-108.0.0-108.0.1] 
[task 2025-10-08T16:16:10.242+00:00] [gw0] [ 54%] PASSED tests/test_release.py::test_is_partner_enabled[firefox-59.0-False-False] 
[task 2025-10-08T16:16:10.242+00:00] tests/test_release.py::test_bump_version[firefox-android-109.0-109.0.1] 
[task 2025-10-08T16:16:10.242+00:00] tests/test_release.py::test_is_partner_enabled[firefox-65.0b3-False-False] 
[task 2025-10-08T16:16:10.242+00:00] [gw1] [ 54%] PASSED tests/test_release.py::test_bump_version[firefox-android-109.0-109.0.1] 
[task 2025-10-08T16:16:10.242+00:00] tests/test_release.py::test_is_partner_enabled[firefox-65.0-True-True] 
[task 2025-10-08T16:16:10.242+00:00] [gw0] [ 55%] PASSED tests/test_release.py::test_is_partner_enabled[firefox-65.0b3-False-False] 
[task 2025-10-08T16:16:10.242+00:00] tests/test_release.py::test_is_partner_enabled[firefox-65.0b8-True-True] 
[task 2025-10-08T16:16:10.242+00:00] [gw1] [ 56%] PASSED tests/test_release.py::test_is_partner_enabled[firefox-65.0-True-True] 
[task 2025-10-08T16:16:10.242+00:00] tests/test_release.py::test_is_partner_enabled[firefox-65.0.1-True-True] 
[task 2025-10-08T16:16:10.242+00:00] [gw0] [ 57%] PASSED tests/test_release.py::test_is_partner_enabled[firefox-65.0b8-True-True] 
[task 2025-10-08T16:16:10.242+00:00] tests/test_release.py::test_is_partner_enabled[fennec-65.0b8-False-False] 
[task 2025-10-08T16:16:10.242+00:00] [gw1] [ 58%] PASSED tests/test_release.py::test_is_partner_enabled[firefox-65.0.1-True-True] 
[task 2025-10-08T16:16:10.243+00:00] [gw0] [ 59%] PASSED tests/test_release.py::test_is_partner_enabled[fennec-65.0b8-False-False] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_release.py::test_is_partner_enabled[firefox-60.5.0esr-True-False] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_release.py::test_is_partner_enabled[fennec-65.0-False-False] 
[task 2025-10-08T16:16:10.243+00:00] [gw0] [ 60%] PASSED tests/test_release.py::test_is_partner_enabled[fennec-65.0-False-False] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 61%] PASSED tests/test_release.py::test_is_partner_enabled[firefox-60.5.0esr-True-False] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_release.py::test_is_partner_enabled[thunderbird-116.0-False-False] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_release.py::test_is_partner_enabled[thunderbird-116.0b2-False-False] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 62%] PASSED tests/test_release.py::test_is_partner_enabled[thunderbird-116.0-False-False] 
[task 2025-10-08T16:16:10.243+00:00] [gw0] [ 63%] PASSED tests/test_release.py::test_is_partner_enabled[thunderbird-116.0b2-False-False] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_release.py::test_is_partner_enabled[thunderbird-115.2.0esr-False-False] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_release.py::test_schedule_phase 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 63%] PASSED tests/test_release.py::test_is_partner_enabled[thunderbird-115.2.0esr-False-False] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_release.py::test_additional_emails 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 64%] PASSED tests/test_release.py::test_additional_emails 
[task 2025-10-08T16:16:10.243+00:00] tests/test_settings.py::test_scopes 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 65%] PASSED tests/test_settings.py::test_scopes 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors[avail_flavors0-firefox-100.0-None-None-expectation0-result0] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 66%] PASSED tests/test_tasks.py::test_extract_our_flavors[avail_flavors0-firefox-100.0-None-None-expectation0-result0] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors[avail_flavors1-firefox-100.0.1-None-None-expectation1-result1] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 67%] PASSED tests/test_tasks.py::test_extract_our_flavors[avail_flavors1-firefox-100.0.1-None-None-expectation1-result1] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors[avail_flavors2-firefox-100.0.1-None-firefox-expectation2-result2] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 68%] PASSED tests/test_tasks.py::test_extract_our_flavors[avail_flavors2-firefox-100.0.1-None-firefox-expectation2-result2] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors[avail_flavors3-non-existing-product-1.0-None-None-expectation3-None] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 69%] PASSED tests/test_tasks.py::test_extract_our_flavors[avail_flavors3-non-existing-product-1.0-None-None-expectation3-None] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors[avail_flavors4-firefox-100.0.1-None-None-expectation4-result4] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 70%] PASSED tests/test_tasks.py::test_extract_our_flavors[avail_flavors4-firefox-100.0.1-None-None-expectation4-result4] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors[avail_flavors5-firefox-100.0.1-None-None-expectation5-result5] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 71%] PASSED tests/test_tasks.py::test_extract_our_flavors[avail_flavors5-firefox-100.0.1-None-None-expectation5-result5] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors[avail_flavors6-thunderbird-129.0.1-None-None-expectation6-result6] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 72%] PASSED tests/test_tasks.py::test_extract_our_flavors[avail_flavors6-thunderbird-129.0.1-None-None-expectation6-result6] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors_unsupported_flavor 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 72%] PASSED tests/test_tasks.py::test_extract_our_flavors_unsupported_flavor 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors_warnings[avail_flavors0-0-None] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 73%] PASSED tests/test_tasks.py::test_extract_our_flavors_warnings[avail_flavors0-0-None] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors_warnings[avail_flavors1-1-Some hardcoded flavors are not in actions.json: {'ship_firefox'}. Product: firefox. Version: 100.0.1] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 74%] PASSED tests/test_tasks.py::test_extract_our_flavors_warnings[avail_flavors1-1-Some hardcoded flavors are not in actions.json: {'ship_firefox'}. Product: firefox. Version: 100.0.1] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_extract_our_flavors_warnings[avail_flavors2-1-Some flavors in actions.json are not hardcoded in shipit: {'extra_flavor'}. Product: firefox. Version: 100.0.1] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 75%] PASSED tests/test_tasks.py::test_extract_our_flavors_warnings[avail_flavors2-1-Some flavors in actions.json are not hardcoded in shipit: {'extra_flavor'}. Product: firefox. Version: 100.0.1] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-firefox-android-expectation0-gecko] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 76%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-firefox-android-expectation0-gecko] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-firefox-expectation1-gecko] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 77%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-firefox-expectation1-gecko] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/releases/mozilla-beta-firefox-android-expectation2-gecko] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 78%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/releases/mozilla-beta-firefox-android-expectation2-gecko] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/mozilla-central-firefox-android-expectation3-None] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 79%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/mozilla-central-firefox-android-expectation3-None] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-comm-central-firefox-android-expectation4-comm] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 80%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-comm-central-firefox-android-expectation4-comm] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-comm-central-thunderbird-expectation5-comm] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 81%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-comm-central-thunderbird-expectation5-comm] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[-xpi-expectation6-xpi] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 81%] PASSED tests/test_tasks.py::test_get_trust_domain[-xpi-expectation6-xpi] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/firefox-android-firefox-expectation7-mobile] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 82%] PASSED tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/firefox-android-firefox-expectation7-mobile] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/firefox-android-firefox-android-expectation8-mobile] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 83%] PASSED tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/firefox-android-firefox-android-expectation8-mobile] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-releng/staging-firefox-android-firefox-android-expectation9-mobile] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 84%] PASSED tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-releng/staging-firefox-android-firefox-android-expectation9-mobile] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/mozilla-vpn-client-firefox-android-expectation10-mozillavpn] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 85%] PASSED tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/mozilla-vpn-client-firefox-android-expectation10-mozillavpn] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_versions.py::test_versions[firefox-nightly-42.0.1] 
[task 2025-10-08T16:16:10.243+00:00] [gw2] [ 86%] PASSED tests/test_openapi.py::test_validate_spec[admin] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_openapi.py::test_validate_spec[public] 
[task 2025-10-08T16:16:10.243+00:00] [gw2] [ 87%] PASSED tests/test_openapi.py::test_validate_spec[public] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_product_details.py::test_create_index_listing[product_details0-product_details_final0] 
[task 2025-10-08T16:16:10.243+00:00] [gw2] [ 88%] PASSED tests/test_product_details.py::test_create_index_listing[product_details0-product_details_final0] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_product_details.py::test_fetch_l10n_data 
[task 2025-10-08T16:16:10.243+00:00] [gw0] [ 89%] PASSED tests/test_release.py::test_schedule_phase 
[task 2025-10-08T16:16:10.243+00:00] tests/test_release.py::test_add_release 
[task 2025-10-08T16:16:10.243+00:00] [gw2] [ 90%] PASSED tests/test_product_details.py::test_fetch_l10n_data 
[task 2025-10-08T16:16:10.243+00:00] tests/test_versions.py::test_versions[bar-foo-None] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 90%] PASSED tests/test_versions.py::test_versions[firefox-nightly-42.0.1] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_versions.py::test_versions[foo-bar-77.7.7] 
[task 2025-10-08T16:16:10.243+00:00] [gw1] [ 91%] PASSED tests/test_versions.py::test_versions[foo-bar-77.7.7] 
[task 2025-10-08T16:16:10.243+00:00] [gw0] [ 92%] PASSED tests/test_release.py::test_add_release 
[task 2025-10-08T16:16:10.243+00:00] tests/test_versions.py::test_versions[firefox-beta-None] 
[task 2025-10-08T16:16:10.243+00:00] [gw0] [ 93%] PASSED tests/test_versions.py::test_versions[firefox-beta-None] 
[task 2025-10-08T16:16:10.243+00:00] [gw2] [ 94%] PASSED tests/test_versions.py::test_versions[bar-foo-None] 
[task 2025-10-08T16:16:10.243+00:00] [gw3] [ 95%] PASSED tests/test_product_details.py::test_rebuild 
[task 2025-10-08T16:16:10.243+00:00] tests/test_publicapi.py::test_public_api_subset 
[task 2025-10-08T16:16:10.243+00:00] [gw3] [ 96%] PASSED tests/test_publicapi.py::test_public_api_subset 
[task 2025-10-08T16:16:10.243+00:00] tests/test_publicapi.py::test_good_version[release0-True] 
[task 2025-10-08T16:16:10.243+00:00] [gw3] [ 97%] PASSED tests/test_publicapi.py::test_good_version[release0-True] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_publicapi.py::test_good_version[release1-True] 
[task 2025-10-08T16:16:10.243+00:00] [gw3] [ 98%] PASSED tests/test_publicapi.py::test_good_version[release1-True] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_publicapi.py::test_good_version[release2-False] 
[task 2025-10-08T16:16:10.243+00:00] [gw3] [ 99%] PASSED tests/test_publicapi.py::test_good_version[release2-False] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_publicapi.py::test_sort_releases_by_product_then_version[releases0-expected0] 
[task 2025-10-08T16:16:10.243+00:00] [gw3] [100%] PASSED tests/test_publicapi.py::test_sort_releases_by_product_then_version[releases0-expected0] 
[task 2025-10-08T16:16:10.243+00:00] 
[task 2025-10-08T16:16:10.243+00:00] =============================== warnings summary ===============================
[task 2025-10-08T16:16:10.243+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:16: 10 warnings
[task 2025-10-08T16:16:10.243+00:00]   /builds/worker/checkouts/vcs/api/.tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:16: DeprecationWarning: jsonschema.RefResolver is deprecated as of v4.18.0, in favor of the https://github.com/python-jsonschema/referencing library, which provides more compliant referencing behavior as well as more flexible APIs for customization. A future release will remove RefResolver. Please file a feature request (on referencing) if you are missing an API for the kind of customization you need.
[task 2025-10-08T16:16:10.243+00:00]     from jsonschema import Draft4Validator, RefResolver
[task 2025-10-08T16:16:10.243+00:00] 
[task 2025-10-08T16:16:10.243+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17
[task 2025-10-08T16:16:10.243+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17
[task 2025-10-08T16:16:10.243+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17
[task 2025-10-08T16:16:10.243+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17
[task 2025-10-08T16:16:10.243+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17
[task 2025-10-08T16:16:10.243+00:00]   /builds/worker/checkouts/vcs/api/.tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17: DeprecationWarning: jsonschema.exceptions.RefResolutionError is deprecated as of version 4.18.0. If you wish to catch potential reference resolution errors, directly catch referencing.exceptions.Unresolvable.
[task 2025-10-08T16:16:10.243+00:00]     from jsonschema.exceptions import RefResolutionError, ValidationError  # noqa
[task 2025-10-08T16:16:10.243+00:00] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_release.py: 24 warnings
[task 2025-10-08T16:16:10.243+00:00] tests/test_product_details.py: 7 warnings
[task 2025-10-08T16:16:10.243+00:00]   /builds/worker/checkouts/vcs/api/.tox/py312/lib/python3.12/site-packages/sqlalchemy/sql/schema.py:3624: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
[task 2025-10-08T16:16:10.243+00:00]     return util.wrap_callable(lambda ctx: fn(), fn)  # type: ignore
[task 2025-10-08T16:16:10.243+00:00] 
[task 2025-10-08T16:16:10.243+00:00] tests/test_release.py::test_schedule_phase
[task 2025-10-08T16:16:10.244+00:00]   /builds/worker/checkouts/vcs/api/.tox/py312/lib/python3.12/site-packages/jsone/shared.py:97: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
[task 2025-10-08T16:16:10.244+00:00]     reference = datetime.datetime.utcnow()
[task 2025-10-08T16:16:10.244+00:00] 
[task 2025-10-08T16:16:10.244+00:00] tests/test_release.py::test_schedule_phase
[task 2025-10-08T16:16:10.244+00:00]   /builds/worker/checkouts/vcs/api/src/shipit_api/admin/api.py:167: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
[task 2025-10-08T16:16:10.244+00:00]     completed = datetime.datetime.utcnow()
[task 2025-10-08T16:16:10.244+00:00] 
[task 2025-10-08T16:16:10.244+00:00] tests/test_publicapi.py: 15 warnings
[task 2025-10-08T16:16:10.244+00:00]   /builds/worker/checkouts/vcs/api/src/cli_common/openapi_subset.py:33: DeprecationWarning: The dpath.util package is being deprecated. All util functions have been moved to dpath package top level.
[task 2025-10-08T16:16:10.244+00:00]     source = dpath.util.get(full_api, section, separator=".")
[task 2025-10-08T16:16:10.244+00:00] 
[task 2025-10-08T16:16:10.244+00:00] tests/test_publicapi.py: 15 warnings
[task 2025-10-08T16:16:10.244+00:00]   /builds/worker/checkouts/vcs/api/src/cli_common/openapi_subset.py:34: DeprecationWarning: The dpath.util package is being deprecated. All util functions have been moved to dpath package top level.
[task 2025-10-08T16:16:10.244+00:00]     dpath.util.new(subset, section, source, separator=".")
[task 2025-10-08T16:16:10.244+00:00] 
[task 2025-10-08T16:16:10.244+00:00] -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
[task 2025-10-08T16:16:10.244+00:00] ================================ tests coverage ================================
[task 2025-10-08T16:16:10.244+00:00] _______________ coverage: platform linux, python 3.12.8-final-0 ________________
[task 2025-10-08T16:16:10.244+00:00] 
[task 2025-10-08T16:16:10.244+00:00] Name                                      Stmts   Miss Branch BrPart  Cover   Missing
[task 2025-10-08T16:16:10.244+00:00] -------------------------------------------------------------------------------------
[task 2025-10-08T16:16:10.244+00:00] src/backend_common/__init__.py               93      5     24      6    91%   53->61, 55, 57, 66-67, 73, 81->84
[task 2025-10-08T16:16:10.244+00:00] src/backend_common/auth.py                  240     97     60     20    54%   47, 55, 59, 63, 69, 72, 75->78, 83, 111, 114, 123, 126, 129, 132, 135, 152->155, 155->158, 166, 169, 172, 191->193, 208-213, 216-227, 237-244, 258->260, 262-288, 293, 295, 301-320, 328, 332, 336-343, 348, 360-379
[task 2025-10-08T16:16:10.244+00:00] src/backend_common/cors.py                    7      0      0      0   100%
[task 2025-10-08T16:16:10.244+00:00] src/backend_common/db.py                     35      9      4      2    72%   31-39, 43
[task 2025-10-08T16:16:10.244+00:00] src/backend_common/dockerflow.py              7      0      0      0   100%
[task 2025-10-08T16:16:10.244+00:00] src/backend_common/log.py                    25      5      4      2    76%   25, 32-36, 44
[task 2025-10-08T16:16:10.244+00:00] src/backend_common/pulse.py                  38     22      6      0    36%   30-36, 39-51, 68-76
[task 2025-10-08T16:16:10.244+00:00] src/backend_common/security.py                8      8      0      0     0%   6-40
[task 2025-10-08T16:16:10.244+00:00] src/backend_common/taskcluster.py            15      0      2      1    94%   22->27
[task 2025-10-08T16:16:10.244+00:00] src/backend_common/testing.py                79     51     20      1    29%   57-66, 74-94, 99-124, 135-147, 153->exit, 161-171
[task 2025-10-08T16:16:10.244+00:00] src/cli_common/__init__.py                    0      0      0      0   100%
[task 2025-10-08T16:16:10.244+00:00] src/cli_common/command.py                    55     23     28     10    53%   17, 21, 26, 34-35, 40, 46, 48->51, 53-67, 78-79, 86-94
[task 2025-10-08T16:16:10.244+00:00] src/cli_common/openapi_subset.py             16      4      4      1    75%   39-41, 45
[task 2025-10-08T16:16:10.244+00:00] src/cli_common/pulse.py                      53     45     10      0    13%   20-69, 73-78, 85-97
[task 2025-10-08T16:16:10.244+00:00] src/cli_common/utils.py                      13      7      4      0    35%   15-21
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/admin/__init__.py              9      0      0      0   100%
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/admin/api.py                 281    171     80     10    37%   55-61, 68-69, 83-90, 117-118, 122, 127-137, 147, 150-151, 163-164, 172->180, 175->172, 205-245, 249-252, 257-258, 263-285, 289-330, 334-355, 359-376, 381-389, 394->400, 412-432, 436-447
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/admin/auth0.py                24      0     12      0   100%
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/admin/github.py              128     75     34      2    38%   17-20, 47-82, 89, 96, 101-117, 164-196, 208, 212-213, 217-246, 250-255, 266-272, 282-288, 312-323, 333-336
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/admin/product_details.py     468     50    166     28    87%   141, 242-245, 259->262, 267, 310, 317, 330, 381, 406, 453, 456, 492, 496, 509-513, 529, 590, 592, 605-607, 619->621, 696-698, 718-719, 893, 1070, 1080-1083, 1119-1137, 1152, 1161, 1281, 1299->1297, 1314->exit, 1322
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/admin/release.py              59     10     22      0    85%   27-29, 62-64, 101-102, 107-110
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/admin/settings.py             64      6     14      4    87%   45, 48, 189-193, 202-203
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/admin/tasks.py               168     89     48      5    46%   42, 51-60, 64-68, 72-76, 81-85, 100-112, 116-125, 129-133, 162-165, 174-175, 188, 195, 197->199, 203-223, 228, 233, 237-239, 243-250
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/admin/worker.py               31     19      0      0    39%   21-32, 38-53
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/admin/xpi.py                 134    110     34      0    14%   22, 27-52, 56-79, 83-85, 89-91, 95-117, 121-135, 139-142, 146-189
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/common/__init__.py             0      0      0      0   100%
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/common/config.py              56      2     10      2    94%   551, 555
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/common/models.py             177     11      0      0    94%   20-23, 27, 54-58, 255
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/common/product.py             11      0      0      0   100%
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/common/version.py             27      2      4      0    94%   33-34
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/public/__init__.py             6      2      0      0    67%   21-28
[task 2025-10-08T16:16:10.244+00:00] src/shipit_api/public/api.py                 60     34     18      0    38%   34-50, 68-75, 79-81, 85-88, 92-96
[task 2025-10-08T16:16:10.244+00:00] -------------------------------------------------------------------------------------
[task 2025-10-08T16:16:10.244+00:00] TOTAL                                      2387    857    608     94    61%
[task 2025-10-08T16:16:10.244+00:00] ================= 111 passed, 78 warnings in 63.64s (0:01:03) ==================
[task 2025-10-08T16:16:11.293+00:00] All done! ✨ 🍰 ✨
[task 2025-10-08T16:16:11.293+00:00] 47 files would be left unchanged.
[task 2025-10-08T16:16:11.293+00:00] /builds/worker/checkouts/vcs/api/.tox/check/bin/isort:10: UserWarning: W0501: The following deprecated CLI flags were used and ignored: --recursive!
[task 2025-10-08T16:16:11.293+00:00]   sys.exit(main())
[task 2025-10-08T16:16:11.293+00:00] /builds/worker/checkouts/vcs/api/.tox/check/bin/isort:10: UserWarning: W0500: Please see the 5.0.0 Upgrade guide: https://pycqa.github.io/isort/docs/upgrade_guides/5.0.0.html
[task 2025-10-08T16:16:11.293+00:00]   sys.exit(main())
[task 2025-10-08T16:16:11.293+00:00] report: venv> /builds/worker/checkouts/vcs/.venv/bin/uv venv -p /builds/worker/checkouts/vcs/.venv/bin/python --allow-existing --python-preference system /builds/worker/checkouts/vcs/api/.tox/report
[task 2025-10-08T16:16:11.293+00:00] report: uv-sync> uv sync --locked --python-preference system -p /builds/worker/checkouts/vcs/.venv/bin/python
[task 2025-10-08T16:16:11.293+00:00] report: commands[0]> coverage xml '--omit=*test*' -o /builds/worker/artifacts/coverage.xml
[task 2025-10-08T16:16:11.293+00:00] Wrote XML report to /builds/worker/artifacts/coverage.xml
[task 2025-10-08T16:16:11.293+00:00] clean: OK ✔ in 1.25 seconds
[task 2025-10-08T16:16:11.293+00:00] check: OK ✔ in 3.25 seconds
[task 2025-10-08T16:16:11.293+00:00] py312: OK ✔ in 1 minute 15.16 seconds
[task 2025-10-08T16:16:11.293+00:00]   clean: OK (1.25=setup[0.94]+cmd[0.31] seconds)
[task 2025-10-08T16:16:11.293+00:00]   check: OK (3.25=setup[0.54]+cmd[1.43,0.41,0.87] seconds)
[task 2025-10-08T16:16:11.293+00:00]   py312: OK (75.16=setup[0.47]+cmd[74.69] seconds)
[task 2025-10-08T16:16:11.293+00:00]   report: OK (1.06=setup[0.29]+cmd[0.76] seconds)
[task 2025-10-08T16:16:11.293+00:00]   congratulations :) (77.52 seconds)
[taskcluster 2025-10-08 16:16:12.194Z] === Task Finished ===
[taskcluster 2025-10-08 16:16:12.549Z] Successful task run with exit code: 0 completed in 118.959 seconds