• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mozilla / relman-auto-nag / #5991
24%
master: 26%

Build:
Build:
LAST BUILD BRANCH: HEAD
DEFAULT BRANCH: master
Ran 11 Aug 2026 11:37PM UTC
Jobs 1
Files 145
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Aug 2026 11:27PM UTC coverage: 23.519% (+0.6%) from 22.927%
#5991

push

coveralls-python

msujaws
Send newly filed frontend bugs from Mozilla staff for automatic triage

hackbot's frontend-triage agent produces a root-cause analysis and fix plan
for a Firefox frontend bug, and posts it to the bug when it is confident — but
nothing was starting runs, so every triage needed a human to trigger it from
the hackbot UI. This rule starts them for newly filed bugs, hourly.

Scoped deliberately narrowly, because the agent's analysis lands on the bug
unattended:

- Reporters we expect to file well. Staff membership comes from the IAM roster
  we already maintain (`People.is_mozilla`), which covers QA as well now that
  they file from @mozilla.com addresses. The roster is also the reason this
  lives here rather than in bugbug: it maps a staffer's Bugzilla address to
  them, so employees who file from a personal account are still in scope, and a
  @mozilla.com address IAM doesn't know about is not.
- One component to start, `Firefox :: New Tab Page`, named literally in the
  query rather than driven from config. Bugzilla matches product and component
  independently, so a list of each would not express a product-to-component
  mapping; a second component wants query groups, not another list entry.

The rule makes no Bugzilla writes of its own — it starts runs and reports what
it started. `max_triggers` caps how many runs one invocation may start, since
each is real LLM spend, and bugs left over (over the cap, or whose run failed
to start) are excluded from the report and the cache so they come back on the
next run rather than being silently dropped.

`HACKBOT_API_URL` defaults to the production deployment so the cron host needs
no extra environment, the way `BUGBUG_HTTP_SERVER` does; set it to point at
another deployment. `People` is injectable because configs/people.json is
gitignored and absent in CI, so the reporter filter could not otherwise be
tested at all.

Requires `hackbot_api_key` in configs/config.json; the rule fails up front and
reports it if th... (continued)

535 of 3200 branches covered (16.72%)

57 of 66 new or added lines in 2 files covered. (86.36%)

2302 of 9788 relevant lines covered (23.52%)

0.24 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
57.14
bugbot/hackbot_utils.py
3
94.23
bugbot/rules/frontend_triage.py
Jobs
ID Job ID Ran Files Coverage
1 #5991.1 11 Aug 2026 11:37PM UTC 145
23.52
Source Files on build #5991
  • Tree
  • List 145
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 2628134f on github
  • Prev Build on HEAD
  • Next Build on HEAD
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc