Skip to content

Add test plan agent#6237

Draft
jpangas wants to merge 3 commits into
mozilla:masterfrom
jpangas:add_test_plans_agent
Draft

Add test plan agent#6237
jpangas wants to merge 3 commits into
mozilla:masterfrom
jpangas:add_test_plans_agent

Cap the generated test cases:

a8a09b0
Select commit
Loading
Failed to load commit list.
Community-TC Integration / bugbug http service tests succeeded Jun 26, 2026 in 2m 4s

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: 2026-06-26T07:57:40.561Z
Resolved: 2026-06-26T07:59:43.620Z
Task Execution Time: 2 minutes, 3 seconds, 59 milliseconds
Task Status: completed
Reason Resolved: completed
TaskId: YnqdEvEtQ0iO596RRE9WWQ
RunId: 0

Artifacts

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


[taskcluster 2026-06-26T07:57:40.651Z] Worker Type (proj-bugbug/compute-smaller) settings:
[taskcluster 2026-06-26T07:57:40.652Z]   {
[taskcluster 2026-06-26T07:57:40.652Z]     "generic-worker": {
[taskcluster 2026-06-26T07:57:40.652Z]       "config": {
[taskcluster 2026-06-26T07:57:40.652Z]         "capacity": 1,
[taskcluster 2026-06-26T07:57:40.652Z]         "headlessTasks": false
[taskcluster 2026-06-26T07:57:40.652Z]       },
[taskcluster 2026-06-26T07:57:40.652Z]       "engine": "multiuser",
[taskcluster 2026-06-26T07:57:40.652Z]       "go-arch": "amd64",
[taskcluster 2026-06-26T07:57:40.652Z]       "go-os": "linux",
[taskcluster 2026-06-26T07:57:40.652Z]       "go-version": "go1.26.2",
[taskcluster 2026-06-26T07:57:40.652Z]       "release": "https://github.com/taskcluster/taskcluster/releases/tag/v100.0.1",
[taskcluster 2026-06-26T07:57:40.652Z]       "revision": "fcf9d8ed582ed8de3d1cdb8f4f91ccec93b7803c",
[taskcluster 2026-06-26T07:57:40.652Z]       "source": "https://github.com/taskcluster/taskcluster/commits/fcf9d8ed582ed8de3d1cdb8f4f91ccec93b7803c",
[taskcluster 2026-06-26T07:57:40.652Z]       "version": "100.0.1"
[taskcluster 2026-06-26T07:57:40.652Z]     },
[taskcluster 2026-06-26T07:57:40.652Z]     "image": "projects/community-tc-workers/global/images/generic-worker-ubuntu-24-04-bngpghpfficdxtlhnusi",
[taskcluster 2026-06-26T07:57:40.652Z]     "instance-id": "2805446789368614533",
[taskcluster 2026-06-26T07:57:40.652Z]     "instance-type": "projects/757942385826/machineTypes/n2-standard-2",
[taskcluster 2026-06-26T07:57:40.652Z]     "local-ipv4": "10.142.0.111",

...(8477 lines hidden)...

 + scikit-learn==1.7.2
 + scipy==1.17.1
 + searchfox==0.17.0
 + sendgrid==6.12.5
 + sentry-sdk==2.63.0
 + setuptools==82.0.1
 + shap==0.52.0
 + shellingham==1.5.4
 + six==1.17.0
 + sklearn-compat==0.1.6
 + slicer==0.0.8
 + slugid==2.0.0
 + sniffio==1.3.1
 + sortedcontainers==2.4.0
 + soupsieve==2.8.4
 + sqlalchemy==2.0.50
 + sse-starlette==3.4.4
 + stack-data==0.6.3
 + starlette==1.3.1
 + tabulate==0.10.0
 + taskcluster==100.3.0
 + taskcluster-urls==13.0.2
 + tenacity==9.1.4
 + texttable==1.7.0
 + threadpoolctl==3.6.0
 + tiktoken==0.13.0
 + tokenizers==0.23.1
 + tomlkit==0.15.0
 + tqdm==4.68.3
 + traitlets==5.15.0
 + typer==0.26.5
 + typing-extensions==4.15.0
 + typing-inspection==0.4.2
 + tzdata==2026.2
 + unidiff==0.7.5
 + urllib3==2.7.0
 + uuid-utils==0.16.0
 + uvicorn==0.49.0
 + validx==0.8.1
 + vine==5.1.0
 + virtualenv==21.4.2
 + w3lib==2.4.1
 + wcwidth==0.7.0
 + weave==0.52.43
 + webargs==8.7.1
 + websockets==16.0
 + werkzeug==3.1.8
 + whatthepatch==1.0.7
 + xgboost==3.2.0
 + xxhash==3.7.0
 + yarl==1.24.2
 + zstandard==0.25.0
+ hg clone -r 50a59e00c4a76fcfae660e3feb9b79e0cd549b15 https://hg.mozilla.org/hgcustom/version-control-tools /version-control-tools/
*** failed to import extension "robustcheckout" from /version-control-tools/hgext/robustcheckout/__init__.py: [Errno 2] No such file or directory: '/version-control-tools/hgext/robustcheckout/__init__.py'
*** failed to import extension "hgmo" from /version-control-tools/hgext/hgmo: [Errno 2] No such file or directory: '/version-control-tools/hgext/hgmo'
*** failed to import extension "pushlog" from /version-control-tools/hgext/pushlog: [Errno 2] No such file or directory: '/version-control-tools/hgext/pushlog'
*** failed to import extension "mozext" from /version-control-tools/hgext/mozext: [Errno 2] No such file or directory: '/version-control-tools/hgext/mozext'
real URL is https://hg-edge.mozilla.org/hgcustom/version-control-tools
adding changesets
adding manifests
adding file changes

files [============================>                            ] 1539/2997 02s
files [=============================>                           ] 1614/2997 02s
files [================================>                        ] 1785/2997 02s
files [===================================>                     ] 1924/2997 02s
files [=====================================>                   ] 2023/2997 02s
files [========================================>                ] 2185/2997 01s
files [===========================================>             ] 2342/2997 01s
files [=============================================>           ] 2455/2997 01s
files [==============================================>          ] 2516/2997 01s
files [=================================================>       ] 2631/2997 01s
files [===================================================>     ] 2774/2997 01s
files [=====================================================>   ] 2869/2997 01s
                                                                                
added 8350 changesets with 19898 changes to 2997 files
new changesets 8277a178b3cb:50a59e00c4a7
updating to branch default
1288 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ uv run pytest --cov=http_service http_service/tests/ -vvv
============================= test session starts ==============================
platform linux -- Python 3.12.13, pytest-9.1.0, pluggy-1.6.0 -- /bugbug/.venv/bin/python
cachedir: .pytest_cache
hypothesis profile 'default'
rootdir: /bugbug/http_service/tests
configfile: pytest.ini
plugins: anyio-4.13.0, cov-7.1.0, asyncio-1.4.0, responses-0.5.1, hypothesis-6.155.6, langsmith-0.8.18
asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
collecting ... 
collecting 0 items                                                             
collected 27 items                                                             

http_service/tests/test_bug_classification.py::test_model_predict_id PASSED [  3%]
http_service/tests/test_bug_classification.py::test_model_predict_id_github PASSED [  7%]
http_service/tests/test_bug_classification.py::test_model_predict_batch PASSED [ 11%]
http_service/tests/test_bug_classification.py::test_model_predict_batch_broken_site_reports PASSED [ 14%]
http_service/tests/test_bug_classification.py::test_for_missing_bugs PASSED [ 18%]
http_service/tests/test_bug_classification.py::test_empty_batch PASSED   [ 22%]
http_service/tests/test_bug_classification.py::test_non_int_batch PASSED [ 25%]
http_service/tests/test_bug_classification.py::test_unknown_model PASSED [ 29%]
http_service/tests/test_bug_classification.py::test_no_api_key PASSED    [ 33%]
http_service/tests/test_get_config_specific_groups.py::test_get_config_specific_groups PASSED [ 37%]
http_service/tests/test_patch_schedules.py::test_patch_schedules_post_with_cache PASSED [ 40%]
http_service/tests/test_patch_schedules.py::test_patch_schedules_get_with_cache PASSED [ 44%]
http_service/tests/test_patch_schedules.py::test_patch_schedules_get_without_cache PASSED [ 48%]
http_service/tests/test_patch_schedules.py::test_patch_schedules_empty_patch PASSED [ 51%]
http_service/tests/test_patch_schedules.py::test_patch_schedules_patch_without_diffs PASSED [ 55%]
http_service/tests/test_push_schedules.py::test_queue_job_valid PASSED   [ 59%]
http_service/tests/test_push_schedules.py::test_no_api_key PASSED        [ 62%]
http_service/tests/test_readthrough_cache.py::test_doesnt_cache_unless_accessed_within_ttl PASSED [ 66%]
http_service/tests/test_readthrough_cache.py::test_cache_purges_after_ttl PASSED [ 70%]
http_service/tests/test_readthrough_cache.py::test_cache_ttl_refreshes_after_get PASSED [ 74%]
http_service/tests/test_readthrough_cache.py::test_force_store PASSED    [ 77%]
http_service/tests/test_readthrough_cache.py::test_cache_thread PASSED   [ 81%]
http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose0-groups_to_choose0-reduced_labels0-config_groups0] PASSED [ 85%]
http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose1-groups_to_choose1-reduced_labels1-config_groups1] PASSED [ 88%]
http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose2-groups_to_choose2-reduced_labels2-config_groups2] PASSED [ 92%]
http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose3-groups_to_choose3-reduced_labels3-config_groups3] PASSED [ 96%]
http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose4-groups_to_choose4-reduced_labels4-config_groups4] PASSED [100%]

=============================== warnings summary ===============================
.venv/lib/python3.12/site-packages/shap/plots/colors/_colors.py:47
  /bugbug/.venv/lib/python3.12/site-packages/shap/plots/colors/_colors.py:47: PendingDeprecationWarning: The set_bad function will be deprecated in a future version. Use cmap.with_extremes(bad=...) or Colormap(bad=...) instead.
    red_blue.set_bad(gray_rgb.tolist(), 1.0)

.venv/lib/python3.12/site-packages/shap/plots/colors/_colors.py:48
  /bugbug/.venv/lib/python3.12/site-packages/shap/plots/colors/_colors.py:48: PendingDeprecationWarning: The set_over function will be deprecated in a future version. Use cmap.with_extremes(over=...) or Colormap(over=...) instead.
    red_blue.set_over(gray_rgb.tolist(), 1.0)

.venv/lib/python3.12/site-packages/shap/plots/colors/_colors.py:49
  /bugbug/.venv/lib/python3.12/site-packages/shap/plots/colors/_colors.py:49: PendingDeprecationWarning: The set_under function will be deprecated in a future version. Use cmap.with_extremes(under=...) or Colormap(under=...) instead.
    red_blue.set_under(gray_rgb.tolist(), 1.0)  # "under" is incorrectly used instead of "bad" in the scatter plot

http_service/bugbug_http/readthrough_cache.py:74
test_readthrough_cache.py::test_cache_thread
  /bugbug/http_service/bugbug_http/readthrough_cache.py:74: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
    thread.setDaemon(True)

test_schedule_tests.py: 10 warnings
  /bugbug/bugbug/repository.py:908: 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).
    pushdate = datetime.utcnow()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================ tests coverage ================================
_______________ coverage: platform linux, python 3.12.13-final-0 _______________

Name                                                    Stmts   Miss  Cover
---------------------------------------------------------------------------
http_service/bugbug_http/__init__.py                        4      0   100%
http_service/bugbug_http/app.py                           401     46    89%
http_service/bugbug_http/boot.py                          127    127     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                        180     99    45%
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                         21     21     0%
http_service/tests/__init__.py                              0      0   100%
http_service/tests/conftest.py                            236      9    96%
http_service/tests/test_bug_classification.py             114      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_patch_schedules.py                 67      3    96%
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      0   100%
---------------------------------------------------------------------------
TOTAL                                                    1493    420    72%
======================= 27 passed, 15 warnings in 24.29s =======================
+ bash /dev/fd/63
++ curl -s https://codecov.io/bash

  _____          _
 / ____|        | |
| |     ___   __| | ___  ___ _____   __
| |    / _ \ / _` |/ _ \/ __/ _ \ \ / /
| |___| (_) | (_| |  __/ (_| (_) \ V /
 \_____\___/ \__,_|\___|\___\___/ \_/
                              Bash-1.0.6


==> git version 2.47.3 found
==> curl 8.14.1 (x86_64-pc-linux-gnu) libcurl/8.14.1 OpenSSL/3.5.6 zlib/1.3.1 brotli/1.1.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.2 libssh2/1.11.1 nghttp2/1.64.0 nghttp3/1.8.0 librtmp/2.3 OpenLDAP/2.6.10
Release-Date: 2025-06-04, security patched: 8.14.1-2+deb13u3
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
x> No CI provider detected.
    Testing inside Docker? http://docs.codecov.io/docs/testing-with-docker
    Testing with Tox? https://docs.codecov.io/docs/python#section-testing-with-tox
    current dir:  /bugbug
    project root: .
--> token set from env
    Yaml found at: .codecov.yml
curl: option : blank argument where content is expected
curl: try 'curl --help' or 'curl --manual' for more information
curl: option : blank argument where content is expected
curl: try 'curl --help' or 'curl --manual' for more information
curl: option : blank argument where content is expected
curl: try 'curl --help' or 'curl --manual' for more information
==> Running gcov in . (disable via -X gcov)
==> Python coveragepy not found
==> Searching for coverage reports in:
    + .
--> No coverage report found.
    Please visit http://docs.codecov.io/docs/supported-languages
[taskcluster 2026-06-26T07:59:41.591Z]                        Exit Code: 0
[taskcluster 2026-06-26T07:59:41.591Z]                        User Time: 70.178ms
[taskcluster 2026-06-26T07:59:41.591Z]                      Kernel Time: 71.431ms
[taskcluster 2026-06-26T07:59:41.591Z]                        Wall Time: 1m34.915257232s
[taskcluster 2026-06-26T07:59:41.591Z]  Average Available System Memory: 6.26 GiB
[taskcluster 2026-06-26T07:59:41.591Z]       Average System Memory Used: 1.49 GiB
[taskcluster 2026-06-26T07:59:41.591Z]          Peak System Memory Used: 1.70 GiB
[taskcluster 2026-06-26T07:59:41.591Z]              Total System Memory: 7.75 GiB
[taskcluster 2026-06-26T07:59:41.591Z]                           Result: SUCCEEDED
[taskcluster 2026-06-26T07:59:41.593Z] === Task Finished ===
[taskcluster 2026-06-26T07:59:41.593Z] Task Duration: 1m34.917082825s