Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Extend notification subscription schema, metrics rules directory, and CI validation

Aperta
#2,114 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python

Direzione di ricerca

Inizia ispezionando i file di sottoscrizione esistenti in backend/data/notifications/subscriptions/ e i modelli Pydantic utilizzati da typeModels. Poi segui il parser attuale e i test di validazione CI prima di aggiungere backend/data/notifications/metrics/ e aggiornare docs/notifications.md. Il lavoro è completato quando tutti i file esistenti vengono caricati, i file non validi fanno fallire la CI con errori relativi al file e al campo e viene verificata l’equivalenza dei destinatari.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

notifications

Goal

Extend existing subscription YAML so recipient entries can carry per-notification preferences, add a directory for metrics rules, and validate everything in CI. No change to sending behavior in this issue.

Part of notification subscriptions and delivery (YAML / PR onboarding).

Recipient entries

In backend/data/notifications/subscriptions/, an entry under default_recipients may be either:

  • a plain string (unchanged: Cc on regression reports and checkout summary for this tree/hardware), or
  • a mapping with email plus optional blocks such as new_issues.
broonie-sound:
  url: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
  default_recipients:
    - [email protected]
    - email: [email protected]
      new_issues:
        issue_types: [boot]
  reports:
    - for-linus:
      branch: for-linus

Hardware files use the same pattern on default_recipients.

issue_types: build (build incident), boot (boot test path), test (other test). Document that full regression reports prefer build when both build and test incidents exist.

Metrics rules

New directory: backend/data/notifications/metrics/ — one file per rule group, rule name as top-level key.

# metrics/qualcomm.yaml
qualcomm-weekly:
  recipients:
    - [email protected]
  hardware: [qcs6490-rb3gen2]
  origins: [maestro]
  period_days: 7

Tree/hardware names must reference keys in subscriptions/; unknown names fail validation.

Validation

  • Pydantic models (consistent with typeModels)
  • Test loads every file in subscriptions/ and metrics/
  • Equivalence test: resolved recipients per tree/notification type unchanged vs today
  • Warn or fail on duplicate metrics recipients with overlapping scope across files
  • CI must fail on invalid config

Update docs/notifications.md (community vs subscription delivery, examples).

Acceptance criteria

  • Schema documented with tree, hardware, and metrics examples
  • Parser/validation tests; errors name file and field
  • All existing subscription files load unchanged
  • CI fails on invalid subscriber or metrics file
Lingua principale
Python
Stelle
9
Fork
31
Merge medio
5g 22h
PR unite (30g)
19

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di kernelci/dashboard

Tutte le issue di kernelci/dashboard

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.