Skip to content

Don't try to get the group status for if the decision task isn't done

1cd3c22
Select commit
Loading
Failed to load commit list.
Draft

Bug 1890753 - Add support for merge automation to shipit #1801

Don't try to get the group status for if the decision task isn't done
1cd3c22
Select commit
Loading
Failed to load commit list.
firefoxci-taskcluster / tests-api-python-312 succeeded Dec 12, 2025 in 3m 14s

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-12-12T15:58:08.225Z
Resolved: 2025-12-12T16:00:08.152Z
Task Execution Time: 1 minute, 59 seconds, 927 milliseconds
Task Status: completed
Reason Resolved: completed
RunId: 0

Artifacts

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


[taskcluster 2025-12-12T15:58:08.253Z] Worker Type (releng-t/linux-docker) settings:
[taskcluster 2025-12-12T15:58:08.253Z]   {
[taskcluster 2025-12-12T15:58:08.253Z]     "config": {
[taskcluster 2025-12-12T15:58:08.253Z]       "deploymentId": ""
[taskcluster 2025-12-12T15:58:08.253Z]     },
[taskcluster 2025-12-12T15:58:08.253Z]     "generic-worker": {
[taskcluster 2025-12-12T15:58:08.253Z]       "config": {
[taskcluster 2025-12-12T15:58:08.253Z]         "headlessTasks": true
[taskcluster 2025-12-12T15:58:08.253Z]       },
[taskcluster 2025-12-12T15:58:08.253Z]       "engine": "multiuser",
[taskcluster 2025-12-12T15:58:08.253Z]       "go-arch": "amd64",
[taskcluster 2025-12-12T15:58:08.253Z]       "go-os": "linux",
[taskcluster 2025-12-12T15:58:08.253Z]       "go-version": "go1.25.4",
[taskcluster 2025-12-12T15:58:08.253Z]       "release": "https://github.com/taskcluster/taskcluster/releases/tag/v93.1.2",
[taskcluster 2025-12-12T15:58:08.253Z]       "revision": "e954a7555fe32f7de69247759908749d1d670889",
[taskcluster 2025-12-12T15:58:08.253Z]       "source": "https://github.com/taskcluster/taskcluster/commits/e954a7555fe32f7de69247759908749d1d670889",
[taskcluster 2025-12-12T15:58:08.253Z]       "version": "93.1.2"
[taskcluster 2025-12-12T15:58:08.253Z]     },
[taskcluster 2025-12-12T15:58:08.253Z]     "image": "projects/taskcluster-imaging/global/images/gw-fxci-gcp-l1-2404-amd64-headless-googlecompute-2025-11-14",
[taskcluster 2025-12-12T15:58:08.253Z]     "instance-id": "4789284770327659988",

...(377 lines hidden)...

[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-firefox-expectation1-gecko] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_release.py::test_is_rc[thunderbird-57.0-partial_updates13-True] 
[task 2025-12-12T16:00:05.208+00:00] [gw0] [ 81%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-firefox-expectation1-gecko] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/releases/mozilla-beta-firefox-android-expectation2-gecko] 
[task 2025-12-12T16:00:05.208+00:00] [gw1] [ 81%] PASSED tests/test_release.py::test_is_rc[thunderbird-57.0-partial_updates13-True] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_release.py::test_is_rc[firefox-115.8.0esr-None-False] 
[task 2025-12-12T16:00:05.208+00:00] [gw0] [ 82%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/releases/mozilla-beta-firefox-android-expectation2-gecko] 
[task 2025-12-12T16:00:05.208+00:00] [gw1] [ 83%] PASSED tests/test_release.py::test_is_rc[firefox-115.8.0esr-None-False] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_release.py::test_is_rc[firefox-70.0b4-partial_updates15-False] 
[task 2025-12-12T16:00:05.208+00:00] [gw1] [ 83%] PASSED tests/test_release.py::test_is_rc[firefox-70.0b4-partial_updates15-False] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/mozilla-central-firefox-android-expectation3-None] 
[task 2025-12-12T16:00:05.208+00:00] [gw0] [ 84%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/mozilla-central-firefox-android-expectation3-None] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_release.py::test_is_rc[devedition-70.0b4-partial_updates16-False] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-comm-central-firefox-android-expectation4-comm] 
[task 2025-12-12T16:00:05.208+00:00] [gw1] [ 85%] PASSED tests/test_release.py::test_is_rc[devedition-70.0b4-partial_updates16-False] 
[task 2025-12-12T16:00:05.208+00:00] [gw0] [ 85%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-comm-central-firefox-android-expectation4-comm] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-comm-central-thunderbird-expectation5-comm] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_get_trust_domain[-xpi-expectation6-xpi] 
[task 2025-12-12T16:00:05.208+00:00] [gw0] [ 86%] PASSED tests/test_tasks.py::test_get_trust_domain[-xpi-expectation6-xpi] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/firefox-android-firefox-android-expectation8-mobile] 
[task 2025-12-12T16:00:05.208+00:00] [gw0] [ 87%] PASSED tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/firefox-android-firefox-android-expectation8-mobile] 
[task 2025-12-12T16:00:05.208+00:00] [gw1] [ 87%] PASSED tests/test_tasks.py::test_get_trust_domain[https://hg.mozilla.org/try-comm-central-thunderbird-expectation5-comm] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/firefox-android-firefox-expectation7-mobile] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-releng/staging-firefox-android-firefox-android-expectation9-mobile] 
[task 2025-12-12T16:00:05.208+00:00] [gw1] [ 88%] PASSED tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/firefox-android-firefox-expectation7-mobile] 
[task 2025-12-12T16:00:05.208+00:00] [gw0] [ 89%] PASSED tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-releng/staging-firefox-android-firefox-android-expectation9-mobile] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/mozilla-vpn-client-firefox-android-expectation10-mozillavpn] 
[task 2025-12-12T16:00:05.208+00:00] [gw1] [ 89%] PASSED tests/test_tasks.py::test_get_trust_domain[https://github.com/mozilla-mobile/mozilla-vpn-client-firefox-android-expectation10-mozillavpn] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_cancel_action_task_group[happy-path] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_cancel_action_task_group[artifact-not-found] 
[task 2025-12-12T16:00:05.208+00:00] [gw0] [ 90%] PASSED tests/test_tasks.py::test_cancel_action_task_group[happy-path] 
[task 2025-12-12T16:00:05.208+00:00] [gw1] [ 90%] PASSED tests/test_tasks.py::test_cancel_action_task_group[artifact-not-found] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_tasks.py::test_cancel_action_task_group[no-cancel-all-action] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_versions.py::test_versions[firefox-nightly-42.0.1] 
[task 2025-12-12T16:00:05.208+00:00] [gw0] [ 91%] PASSED tests/test_tasks.py::test_cancel_action_task_group[no-cancel-all-action] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_versions.py::test_versions[foo-bar-77.7.7] 
[task 2025-12-12T16:00:05.208+00:00] [gw2] [ 92%] PASSED tests/test_sentry.py::test_sentry_captures_only_5xx_errors[404-False] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_sentry.py::test_sentry_captures_only_5xx_errors[409-False] 
[task 2025-12-12T16:00:05.208+00:00] [gw1] [ 92%] PASSED tests/test_versions.py::test_versions[firefox-nightly-42.0.1] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_versions.py::test_versions[bar-foo-None] 
[task 2025-12-12T16:00:05.208+00:00] [gw0] [ 93%] PASSED tests/test_versions.py::test_versions[foo-bar-77.7.7] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_versions.py::test_versions[firefox-beta-None] 
[task 2025-12-12T16:00:05.208+00:00] [gw2] [ 94%] PASSED tests/test_sentry.py::test_sentry_captures_only_5xx_errors[409-False] 
[task 2025-12-12T16:00:05.208+00:00] tests/test_sentry.py::test_sentry_captures_only_5xx_errors[500-True] 
[task 2025-12-12T16:00:05.208+00:00] [gw1] [ 94%] PASSED tests/test_versions.py::test_versions[bar-foo-None] 
[task 2025-12-12T16:00:05.209+00:00] [gw0] [ 95%] PASSED tests/test_versions.py::test_versions[firefox-beta-None] 
[task 2025-12-12T16:00:05.209+00:00] [gw2] [ 96%] PASSED tests/test_sentry.py::test_sentry_captures_only_5xx_errors[500-True] 
[task 2025-12-12T16:00:05.209+00:00] [gw3] [ 96%] PASSED tests/test_product_details.py::test_rebuild 
[task 2025-12-12T16:00:05.209+00:00] tests/test_publicapi.py::test_public_api_subset 
[task 2025-12-12T16:00:05.209+00:00] [gw3] [ 97%] PASSED tests/test_publicapi.py::test_public_api_subset 
[task 2025-12-12T16:00:05.209+00:00] tests/test_publicapi.py::test_good_version[release0-True] 
[task 2025-12-12T16:00:05.209+00:00] [gw3] [ 98%] PASSED tests/test_publicapi.py::test_good_version[release0-True] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_publicapi.py::test_good_version[release1-True] 
[task 2025-12-12T16:00:05.209+00:00] [gw3] [ 98%] PASSED tests/test_publicapi.py::test_good_version[release1-True] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_publicapi.py::test_good_version[release2-False] 
[task 2025-12-12T16:00:05.209+00:00] [gw3] [ 99%] PASSED tests/test_publicapi.py::test_good_version[release2-False] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_publicapi.py::test_sort_releases_by_product_then_version[releases0-expected0] 
[task 2025-12-12T16:00:05.209+00:00] [gw3] [100%] PASSED tests/test_publicapi.py::test_sort_releases_by_product_then_version[releases0-expected0] 
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] =============================== warnings summary ===============================
[task 2025-12-12T16:00:05.209+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:16: 10 warnings
[task 2025-12-12T16:00:05.209+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-12-12T16:00:05.209+00:00]     from jsonschema import Draft4Validator, RefResolver
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17
[task 2025-12-12T16:00:05.209+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17
[task 2025-12-12T16:00:05.209+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17
[task 2025-12-12T16:00:05.209+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17
[task 2025-12-12T16:00:05.209+00:00] .tox/py312/lib/python3.12/site-packages/connexion/json_schema.py:17
[task 2025-12-12T16:00:05.209+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-12-12T16:00:05.209+00:00]     from jsonschema.exceptions import RefResolutionError, ValidationError  # noqa
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_submit_merge_automation_success
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_submit_merge_automation_invalid_inputs[thunderbird-main-to-beta-None]
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_submit_merge_automation_invalid_inputs[firefox-invalid-behavior-Behavior invalid-behavior not found for product: firefox]
[task 2025-12-12T16:00:05.209+00:00]   /builds/worker/checkouts/vcs/api/src/shipit_api/admin/merge_automation.py:48: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
[task 2025-12-12T16:00:05.209+00:00]     if not current_user.has_permissions(required_permission):
[task 2025-12-12T16:00:05.209+00:00]   Enable tracemalloc to get traceback where the object was allocated.
[task 2025-12-12T16:00:05.209+00:00]   See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_start_merge_automation_error_cases[None-TaskStatus.Running-400-Cannot start automation in Running status]
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_start_merge_automation_taskcluster_failure
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_start_merge_automation_success
[task 2025-12-12T16:00:05.209+00:00]   /builds/worker/checkouts/vcs/api/src/shipit_api/admin/merge_automation.py:148: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
[task 2025-12-12T16:00:05.209+00:00]     if not current_user.has_permissions(required_permission):
[task 2025-12-12T16:00:05.209+00:00]   Enable tracemalloc to get traceback where the object was allocated.
[task 2025-12-12T16:00:05.209+00:00]   See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_mark_merge_automation_completed
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_mark_merge_automation_completed_already_terminal[TaskStatus.Completed]
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_mark_merge_automation_completed_already_terminal[TaskStatus.Canceled]
[task 2025-12-12T16:00:05.209+00:00]   /builds/worker/checkouts/vcs/api/src/shipit_api/admin/merge_automation.py:125: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
[task 2025-12-12T16:00:05.209+00:00]     if not current_user.has_permissions(required_permission):
[task 2025-12-12T16:00:05.209+00:00]   Enable tracemalloc to get traceback where the object was allocated.
[task 2025-12-12T16:00:05.209+00:00]   See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_cancel_merge_automation_success
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_cancel_merge_automation_with_taskcluster_task
[task 2025-12-12T16:00:05.209+00:00] tests/test_merge_automation.py::test_cancel_merge_automation_failed_status
[task 2025-12-12T16:00:05.209+00:00]   /builds/worker/checkouts/vcs/api/src/shipit_api/admin/merge_automation.py:102: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
[task 2025-12-12T16:00:05.209+00:00]     if not current_user.has_permissions(required_permission):
[task 2025-12-12T16:00:05.209+00:00]   Enable tracemalloc to get traceback where the object was allocated.
[task 2025-12-12T16:00:05.209+00:00]   See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_release.py: 24 warnings
[task 2025-12-12T16:00:05.209+00:00] tests/test_product_details.py: 3 warnings
[task 2025-12-12T16:00:05.209+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-12-12T16:00:05.209+00:00]     return util.wrap_callable(lambda ctx: fn(), fn)  # type: ignore
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_release.py::test_schedule_phase
[task 2025-12-12T16:00:05.209+00:00] tests/test_tasks.py::test_cancel_action_task_group[happy-path]
[task 2025-12-12T16:00:05.209+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-12-12T16:00:05.209+00:00]     reference = datetime.datetime.utcnow()
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_release.py::test_schedule_phase
[task 2025-12-12T16:00:05.209+00:00]   /builds/worker/checkouts/vcs/api/src/shipit_api/admin/api.py:157: 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-12-12T16:00:05.209+00:00]     completed = datetime.datetime.utcnow()
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_publicapi.py: 15 warnings
[task 2025-12-12T16:00:05.209+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-12-12T16:00:05.209+00:00]     source = dpath.util.get(full_api, section, separator=".")
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] tests/test_publicapi.py: 15 warnings
[task 2025-12-12T16:00:05.209+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-12-12T16:00:05.209+00:00]     dpath.util.new(subset, section, source, separator=".")
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
[task 2025-12-12T16:00:05.209+00:00] ================================ tests coverage ================================
[task 2025-12-12T16:00:05.209+00:00] _______________ coverage: platform linux, python 3.12.8-final-0 ________________
[task 2025-12-12T16:00:05.209+00:00] 
[task 2025-12-12T16:00:05.209+00:00] Name                                       Stmts   Miss Branch BrPart  Cover   Missing
[task 2025-12-12T16:00:05.209+00:00] --------------------------------------------------------------------------------------
[task 2025-12-12T16:00:05.209+00:00] src/backend_common/__init__.py                93      5     24      6    91%   53->61, 55, 57, 66-67, 73, 81->84
[task 2025-12-12T16:00:05.209+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-12-12T16:00:05.209+00:00] src/backend_common/cors.py                     7      0      0      0   100%
[task 2025-12-12T16:00:05.209+00:00] src/backend_common/db.py                      35      9      4      2    72%   31-39, 43
[task 2025-12-12T16:00:05.209+00:00] src/backend_common/dockerflow.py               7      0      0      0   100%
[task 2025-12-12T16:00:05.209+00:00] src/backend_common/log.py                     25      4      4      2    79%   25, 32-36
[task 2025-12-12T16:00:05.210+00:00] src/backend_common/pulse.py                   38     22      6      0    36%   30-36, 39-51, 68-76
[task 2025-12-12T16:00:05.210+00:00] src/backend_common/security.py                 8      8      0      0     0%   6-40
[task 2025-12-12T16:00:05.210+00:00] src/backend_common/taskcluster.py             15      0      2      1    94%   22->27
[task 2025-12-12T16:00:05.210+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-12-12T16:00:05.210+00:00] src/cli_common/__init__.py                     0      0      0      0   100%
[task 2025-12-12T16:00:05.210+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-12-12T16:00:05.210+00:00] src/cli_common/openapi_subset.py              16      4      4      1    75%   39-41, 45
[task 2025-12-12T16:00:05.210+00:00] src/cli_common/pulse.py                       53     45     10      0    13%   20-69, 73-78, 85-97
[task 2025-12-12T16:00:05.210+00:00] src/cli_common/utils.py                       13      7      4      0    35%   15-21
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/admin/__init__.py               9      0      0      0   100%
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/admin/api.py                  277    166     78     10    37%   45-51, 58-59, 73-80, 107-108, 112, 117-127, 137, 140-141, 153-154, 162->170, 165->162, 195-216, 220-223, 228-229, 234-256, 260-301, 305-326, 330-347, 352-360, 365->371, 383-403, 407-418, 427-441
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/admin/auth0.py                 24      0     12      0   100%
[task 2025-12-12T16:00:05.210+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-12-12T16:00:05.210+00:00] src/shipit_api/admin/merge_automation.py     148     10     44      2    93%   110-111, 205-206, 225-228, 250, 261
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/admin/product_details.py      464     51    166     29    86%   140, 227, 241-244, 258->261, 266, 309, 316, 329, 380, 405, 452, 455, 491, 495, 508-512, 528, 589, 591, 604-606, 618->620, 695-697, 717-718, 892, 1064, 1074-1077, 1113-1131, 1146, 1155, 1275, 1293->1291, 1308->exit, 1316
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/admin/release.py               59     10     22      0    85%   27-29, 62-64, 101-102, 107-110
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/admin/settings.py              64      6     14      4    87%   45, 48, 189-193, 202-203
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/admin/tasks.py                200     86     50      5    57%   42, 51-60, 72-74, 79-83, 88-92, 111-112, 148-149, 164-176, 180-189, 226-229, 239, 252, 259, 261->263, 267-287, 292, 297, 301-303, 307-314
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/admin/worker.py                31     19      0      0    39%   21-32, 38-53
[task 2025-12-12T16:00:05.210+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-12-12T16:00:05.210+00:00] src/shipit_api/common/__init__.py              0      0      0      0   100%
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/common/config.py               75      3     16      3    93%   556, 560, 630
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/common/models.py              204     11      0      0    95%   21-24, 28, 55-59, 309
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/common/product.py              11      0      0      0   100%
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/common/version.py              27      2      4      0    94%   33-34
[task 2025-12-12T16:00:05.210+00:00] src/shipit_api/public/__init__.py              8      3      0      0    62%   23-32
[task 2025-12-12T16:00:05.210+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-12-12T16:00:05.210+00:00] --------------------------------------------------------------------------------------
[task 2025-12-12T16:00:05.210+00:00] TOTAL                                       2607    861    658     98    64%
[task 2025-12-12T16:00:05.210+00:00] ================= 155 passed, 87 warnings in 61.86s (0:01:01) ==================
[task 2025-12-12T16:00:06.382+00:00] All done! ✨ 🍰 ✨
[task 2025-12-12T16:00:06.382+00:00] 50 files would be left unchanged.
[task 2025-12-12T16:00:06.382+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-12-12T16:00:06.382+00:00]   sys.exit(main())
[task 2025-12-12T16:00:06.382+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-12-12T16:00:06.382+00:00]   sys.exit(main())
[task 2025-12-12T16:00:06.382+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-12-12T16:00:06.382+00:00] report: uv-sync> uv sync --locked --python-preference system -p /builds/worker/checkouts/vcs/.venv/bin/python
[task 2025-12-12T16:00:06.382+00:00] report: commands[0]> coverage xml '--omit=*test*' -o /builds/worker/artifacts/coverage.xml
[task 2025-12-12T16:00:06.382+00:00] Wrote XML report to /builds/worker/artifacts/coverage.xml
[task 2025-12-12T16:00:06.382+00:00] clean: OK ✔ in 1.32 seconds
[task 2025-12-12T16:00:06.382+00:00] check: OK ✔ in 3.73 seconds
[task 2025-12-12T16:00:06.382+00:00] py312: OK ✔ in 1 minute 13.97 seconds
[task 2025-12-12T16:00:06.382+00:00]   clean: OK (1.32=setup[0.99]+cmd[0.33] seconds)
[task 2025-12-12T16:00:06.382+00:00]   check: OK (3.73=setup[0.61]+cmd[1.76,0.39,0.97] seconds)
[task 2025-12-12T16:00:06.382+00:00]   py312: OK (73.97=setup[0.55]+cmd[73.42] seconds)
[task 2025-12-12T16:00:06.382+00:00]   report: OK (1.18=setup[0.37]+cmd[0.81] seconds)
[task 2025-12-12T16:00:06.382+00:00]   congratulations :) (76.52 seconds)
[taskcluster 2025-12-12T16:00:07.385Z]                        Exit Code: 0
[taskcluster 2025-12-12T16:00:07.385Z]                        User Time: 37.878ms
[taskcluster 2025-12-12T16:00:07.385Z]                      Kernel Time: 12.986ms
[taskcluster 2025-12-12T16:00:07.385Z]                        Wall Time: 1m33.995477932s
[taskcluster 2025-12-12T16:00:07.385Z]  Average Available System Memory: 14.50 GiB
[taskcluster 2025-12-12T16:00:07.385Z]       Average System Memory Used: 1.11 GiB
[taskcluster 2025-12-12T16:00:07.385Z]          Peak System Memory Used: 1.45 GiB
[taskcluster 2025-12-12T16:00:07.385Z]              Total System Memory: 15.62 GiB
[taskcluster 2025-12-12T16:00:07.385Z]                           Result: SUCCEEDED
[taskcluster 2025-12-12T16:00:07.385Z] === Task Finished ===
[taskcluster 2025-12-12T16:00:07.385Z] Task Duration: 1m33.996212631s
[taskcluster 2025-12-12T16:00:07.793Z] [mounts] Preserving cache: Moving "/home/task_176555508795840/cache0" to "/home/generic-worker/caches/HdGe4ICrSjyvFBunFECcSg"
[taskcluster 2025-12-12T16:00:07.794Z] [mounts] Preserving cache: Moving "/home/task_176555508795840/cache1" to "/home/generic-worker/caches/PpVRmPzbQQuElNnlkWyf5w"