Use robustcheckout for pulling #5397
Draft
Community-TC Integration / bugbug http service tests
failed
Oct 31, 2025 in 7m 50s
Community-TC (pull_request)
bugbug http service tests
Details
View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster
Task Status
Started: 2025-10-31T17:35:58.307Z
Resolved: 2025-10-31T17:41:20.801Z
Task Execution Time: 5 minutes, 22 seconds, 494 milliseconds
Task Status: failed
Reason Resolved: failed
RunId: 0
Artifacts
- public/logs/live_backing.log
- public/logs/live.log
[taskcluster 2025-10-31T17:35:58.385Z] Worker Type (proj-bugbug/compute-smaller) settings:
[taskcluster 2025-10-31T17:35:58.385Z] {
[taskcluster 2025-10-31T17:35:58.385Z] "config": {
[taskcluster 2025-10-31T17:35:58.385Z] "deploymentId": "7facb6d59910864e"
[taskcluster 2025-10-31T17:35:58.385Z] },
[taskcluster 2025-10-31T17:35:58.385Z] "generic-worker": {
[taskcluster 2025-10-31T17:35:58.385Z] "config": {
[taskcluster 2025-10-31T17:35:58.385Z] "headlessTasks": false
[taskcluster 2025-10-31T17:35:58.385Z] },
[taskcluster 2025-10-31T17:35:58.385Z] "engine": "multiuser",
[taskcluster 2025-10-31T17:35:58.385Z] "go-arch": "amd64",
[taskcluster 2025-10-31T17:35:58.385Z] "go-os": "linux",
[taskcluster 2025-10-31T17:35:58.385Z] "go-version": "go1.25.3",
[taskcluster 2025-10-31T17:35:58.385Z] "release": "https://github.com/taskcluster/taskcluster/releases/tag/v91.0.2",
[taskcluster 2025-10-31T17:35:58.385Z] "revision": "06628b37211e56a8bd044bf879260bc792c4fa4a",
[taskcluster 2025-10-31T17:35:58.385Z] "source": "https://github.com/taskcluster/taskcluster/commits/06628b37211e56a8bd044bf879260bc792c4fa4a",
[taskcluster 2025-10-31T17:35:58.385Z] "version": "91.0.2"
[taskcluster 2025-10-31T17:35:58.385Z] },
[taskcluster 2025-10-31T17:35:58.385Z] "image": "projects/community-tc-workers/global/images/generic-worker-ubuntu-24-04-rcjl3ld8hxf0y3qo2fl3",
[taskcluster 2025-10-31T17:35:58.385Z] "instance-id": "7893923887655242780",
...(1521 lines hidden)...
{"test-group2": ["test-linux1804-64/opt"]},
),
# none from label, one from group
(
{},
{"test-group1": 0.9},
{},
{"test-group1": ["test-linux1804-64/opt", "test-windows10/debug"]},
),
# two from label, one from group
(
{"test-linux1804-64-opt-label1": 0.9, "test-linux1804-64-opt-label2": 0.5},
{"test-group2": 0.9},
{"test-linux1804-64-opt-label1": 0.9},
{"test-group2": ["test-linux1804-64/opt"]},
),
# two redundant from label, one from group
(
{"test-linux1804-64/opt": 0.9, "test-windows10/opt": 0.8},
{"test-group1": 0.9},
{"test-linux1804-64/opt": 0.9},
{"test-group1": ["test-linux1804-64/opt", "test-windows10/debug"]},
),
],
)
def test_simple_schedule(
labels_to_choose: dict[str, float],
groups_to_choose: dict[str, float],
reduced_labels: dict[str, float],
config_groups: dict[str, list[str]],
mock_hgmo: None,
mock_repo: tuple[str, str],
mock_component_taskcluster_artifact: None,
mock_coverage_mapping_artifact: None,
mock_schedule_tests_classify: Callable[[dict[str, float], dict[str, float]], None],
) -> None:
# The repo should be almost empty at first
repo_dir, remote_repo_dir = mock_repo
with hglib.open(str(repo_dir)) as hg:
logs = hg.log()
assert len(logs) == 4
assert [log.desc.decode("utf-8") for log in logs] == [
"Base history 3",
"Base history 2",
"Base history 1",
"Base history 0",
]
with hglib.open(str(remote_repo_dir)) as hg:
rev = hg.log()[0].node.decode("ascii")[:12]
mock_schedule_tests_classify(labels_to_choose, groups_to_choose)
# Scheduling a test on a revision should apply changes in the repo
> assert models.schedule_tests("mozilla-central", rev) == "OK"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/bugbug/http_service/tests/test_schedule_tests.py:84:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/bugbug/http_service/bugbug_http/models.py:242: in schedule_tests
repository.pull(REPO_DIR, branch, rev)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
repo_dir = '/tmp/pytest-of-root/pytest-0/test_simple_schedule_labels_to4/local'
branch = 'mozilla-central', revision = '8fd96958488f'
def pull(repo_dir: str, branch: str, revision: str) -> None:
"""Pull a revision from a branch of a remote repository into a local repository."""
cmd = _build_hg_cmd(
"robustcheckout",
f"https://hg.mozilla.org/{branch}/".encode("ascii"),
repo_dir,
purge=False,
sharebase=f"{repo_dir}-shared",
revision=revision.encode("ascii"),
noupdate=True,
)
p = subprocess.Popen(cmd, cwd=repo_dir)
try:
p.wait(timeout=180)
except subprocess.TimeoutExpired:
p.terminate()
p.wait()
raise
if p.returncode != 0:
> raise RuntimeError(
f"Error {p.returncode} when pulling {revision} from {branch}"
)
E RuntimeError: Error 255 when pulling 8fd96958488f from mozilla-central
/usr/local/lib/python3.12/site-packages/bugbug/repository.py:1542: RuntimeError
---------------------------- Captured stderr setup -----------------------------
data/coverage_mapping.json.zst: 2 bytes
----------------------------- Captured stdout call -----------------------------
hg pull [-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]...
pull changes from the specified source
options ([+] can be repeated):
-u --update update to new branch head if new descendants were
pulled
-f --force run even when remote repository is unrelated
--confirm confirm pull before applying changes
-r --rev REV [+] a remote changeset intended to be added
-B --bookmark BOOKMARK [+] bookmark to pull
-b --branch BRANCH [+] a specific branch you would like to pull
-e --ssh CMD specify ssh command to use
--remotecmd CMD specify hg command to run on the remote side
--insecure do not verify server certificate (ignoring
web.cacerts config)
(use 'hg pull -h' to show more help)
----------------------------- Captured stderr call -----------------------------
2025-10-31 17:41:16,399:INFO:root:Processing schedule_tests:mozilla-central_8fd96958488f...
2025-10-31 17:41:16,399:INFO:root:Pulling commits from the remote repository...
hg pull: option --sharebase not recognized
------------------------------ Captured log call -------------------------------
INFO root:models.py:238 Processing schedule_tests:mozilla-central_8fd96958488f...
INFO root:models.py:241 Pulling commits from the remote repository...
=============================== warnings summary ===============================
<frozen importlib._bootstrap>:488
<frozen importlib._bootstrap>:488: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute
<frozen importlib._bootstrap>:488
<frozen importlib._bootstrap>:488: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute
<frozen importlib._bootstrap>:488
<frozen importlib._bootstrap>:488: DeprecationWarning: builtin type swigvarlink has no __module__ attribute
http_service/bugbug_http/readthrough_cache.py:73
test_readthrough_cache.py::test_cache_thread
/bugbug/http_service/bugbug_http/readthrough_cache.py:73: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
thread.setDaemon(True)
../usr/local/lib/python3.12/site-packages/marshmallow/fields.py:1218
/usr/local/lib/python3.12/site-packages/marshmallow/fields.py:1218: RemovedInMarshmallow4Warning: Passing field metadata as keyword arguments is deprecated. Use the explicit `metadata=...` argument instead. Additional metadata: {'enum': [False]}
super().__init__(**kwargs)
http_service/bugbug_http/app.py:114
/bugbug/http_service/bugbug_http/app.py:114: RemovedInMarshmallow4Warning: Passing field metadata as keyword arguments is deprecated. Use the explicit `metadata=...` argument instead. Additional metadata: {'enum': ['defectenhancementtask', 'component', 'invalidcompatibilityreport', 'needsdiagnosis', 'regression', 'stepstoreproduce', 'spambug', 'testlabelselect', 'testgroupselect', 'accessibility', 'performancebug', 'worksforme', 'fenixcomponent'], 'example': 'component'}
model_name = fields.Str(enum=MODELS_NAMES, example="component")
http_service/bugbug_http/app.py:118
/bugbug/http_service/bugbug_http/app.py:118: RemovedInMarshmallow4Warning: The 'default' argument to fields is deprecated. Use 'dump_default' instead.
message = fields.Str(default="Error, missing X-API-KEY")
http_service/bugbug_http/app.py:122
/bugbug/http_service/bugbug_http/app.py:122: RemovedInMarshmallow4Warning: Passing field metadata as keyword arguments is deprecated. Use the explicit `metadata=...` argument instead. Additional metadata: {'example': 'autoland'}
branch = fields.Str(example="autoland")
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================ tests coverage ================================
_______________ coverage: platform linux, python 3.12.3-final-0 ________________
Name Stmts Miss Cover
---------------------------------------------------------------------------
http_service/bugbug_http/__init__.py 4 0 100%
http_service/bugbug_http/app.py 370 45 88%
http_service/bugbug_http/boot.py 126 126 0%
http_service/bugbug_http/download_models.py 18 18 0%
http_service/bugbug_http/listener.py 59 59 0%
http_service/bugbug_http/models.py 154 102 34%
http_service/bugbug_http/readthrough_cache.py 44 0 100%
http_service/bugbug_http/sentry.py 7 2 71%
http_service/bugbug_http/worker.py 20 20 0%
http_service/setup.py 10 10 0%
http_service/tests/__init__.py 0 0 100%
http_service/tests/conftest.py 236 34 86%
http_service/tests/test_bug_classification.py 115 1 99%
http_service/tests/test_get_config_specific_groups.py 10 0 100%
http_service/tests/test_integration.py 38 28 26%
http_service/tests/test_push_schedules.py 24 1 96%
http_service/tests/test_readthrough_cache.py 113 6 95%
http_service/tests/test_schedule_tests.py 30 13 57%
---------------------------------------------------------------------------
TOTAL 1378 465 66%
=========================== short test summary info ============================
FAILED http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose0-groups_to_choose0-reduced_labels0-config_groups0] - RuntimeError: Error 255 when pulling 985c248a3f0f from mozilla-central
FAILED http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose1-groups_to_choose1-reduced_labels1-config_groups1] - RuntimeError: Error 255 when pulling 8b10761a72b6 from mozilla-central
FAILED http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose2-groups_to_choose2-reduced_labels2-config_groups2] - RuntimeError: Error 255 when pulling 8ed5d3dad385 from mozilla-central
FAILED http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose3-groups_to_choose3-reduced_labels3-config_groups3] - RuntimeError: Error 255 when pulling e3f691609239 from mozilla-central
FAILED http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose4-groups_to_choose4-reduced_labels4-config_groups4] - RuntimeError: Error 255 when pulling 8fd96958488f from mozilla-central
================== 5 failed, 17 passed, 9 warnings in 12.22s ===================
[taskcluster 2025-10-31T17:41:19.171Z] Exit Code: 1
[taskcluster 2025-10-31T17:41:19.171Z] User Time: 326.617ms
[taskcluster 2025-10-31T17:41:19.171Z] Kernel Time: 96.477ms
[taskcluster 2025-10-31T17:41:19.171Z] Wall Time: 4m39.346943237s
[taskcluster 2025-10-31T17:41:19.171Z] Average Available System Memory: 5.78 GiB
[taskcluster 2025-10-31T17:41:19.171Z] Average System Memory Used: 1.98 GiB
[taskcluster 2025-10-31T17:41:19.171Z] Peak System Memory Used: 3.81 GiB
[taskcluster 2025-10-31T17:41:19.171Z] Total System Memory: 7.75 GiB
[taskcluster 2025-10-31T17:41:19.171Z] Result: FAILED
[taskcluster 2025-10-31T17:41:19.172Z] === Task Finished ===
[taskcluster 2025-10-31T17:41:19.172Z] Task Duration: 4m39.347413572s
[taskcluster 2025-10-31T17:41:20.360Z] Uploading link artifact public/logs/live.log to artifact public/logs/live_backing.log with expiry 2026-10-31T18:33:30.627Z
[taskcluster:error] exit status 1
Loading