kernelci / kernelci/dashboard

Deliver new-issues summary to subscribed recipients

Open
#2,115 0 comments 0 reactions 0 assignees View on GitHub
notifications
Dominant language
Python
Stars
9
Forks
31
Avg merge
3d 19h
Merged PRs (30d)
16

Description

## Goal

On the hourly `new_issues` job, send a **filtered new-issues summary** to recipients who opted in via YAML. Make **automatic regression report** triggers configurable without changing regression **recipients**.

**Depends on:** #2114

## Today vs after

| | Today | After |
|---|--------|--------|
| New-issues summary | One mail to `kernelci-results@groups.io`; all new build/boot issues | Same default, plus filtered copies to subscribed recipients |

Regression reports stay: list To, tree `default_recipients` Cc, `regressions@lists.linux.dev` + regzbot on mainline/next/stable.

## Community delivery (unchanged default)

If no `new_issues` blocks exist, one summary to `kernelci-results@groups.io` with every new build and boot issue. Reuse `issues.txt.j2` and `notifications_issue` dedup.

## Subscription delivery

For each `default_recipients` entry with a `new_issues` block, send a summary containing only issues in that file’s tree/hardware scope whose type is in `issue_types`. Skip send when there are no matches for that person in the run.

- **Cadence (v1):** hourly, same as community run (document; no per-subscriber schedule without new state)
- **Overlap:** recipients on the results list who also subscribe may get two mails (accepted for v1)

## Regression auto-send (policy only)

Replace hardcoded Maestro + build-only auto `generate_issue_report` with command flags (like `--summary-origins`). Defaults must match production today. Boot / other origins only when flags/config explicitly enable them.

## Acceptance criteria

- [ ] Configured `new_issues` block → filtered summary to that address
- [ ] No `new_issues` blocks → behavior identical to today
- [ ] Auto regression policy defaults unchanged without new config
- [ ] `--send` off shows recipients and issue ids per recipient

Contributor guide

Open the contributing guide

Research direction

Start with the hourly `new_issues` job and the YAML `default_recipients` configuration, considering dependency #2114. Trace `issues.txt.j2`, `notifications_issue`, and `generate_issue_report`, then inspect the `--summary-origins` and `--send` behavior. Done means filtered subscriber summaries, unchanged defaults, and recipient and issue-id output when sending is disabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.