Skip to content

ADR-001 + drift-check cross-repo + composite action python-ci - #26

Merged
Gabrymi93 merged 8 commits into
mainfrom
docs/workflow-architecture-adr
Aug 16, 2026
Merged

ADR-001 + drift-check cross-repo + composite action python-ci#26
Gabrymi93 merged 8 commits into
mainfrom
docs/workflow-architecture-adr

Conversation

@Gabrymi93

Copy link
Copy Markdown
Member

Sintesi

Pone le fondamenta per la standardizzazione dei workflow dell'org (ADR-001):

  • ADR-001 (docs/adr/): modello a 4 layer (YAML orchestratore → Makefile thin → package org → componenti condivisi), regola d'oro "la logica non vive mai in YAML", confine semantico e processo di cambiamento.
  • Drift-check cross-repo (scripts/drift_check.py + job in templates.yml): verifica via API GitHub che i repo in scope usino i componenti condivisi. ERROR (bloccante) su copie inline dei reusable; WARN su setup-python inline, versioni action fuori allowlist, lint/test inline.
  • Composite action python-ci (actions/python-ci): ruff + mypy + pytest con soglia coverage come step composabili (stesso pattern di python-setup).
  • Allineamento versioni: componenti condivisi (python-setup, test-audit-reusable) e templates.yml portati a actions/*@v7 (allowlist canonica).

Contesto collegato

ADR-001 documentato in questa PR. Passi 1-4 dell'implementazione.

Cosa cambia

  • Policy GitHub o template
  • Codice o automazioni
  • Documentazione

Impatto

  • Policy GitHub o template
  • Codice o automazioni
  • Pipeline dati o trasformazioni
  • Contenuti o metadati di dataset

Verifica

  • python scripts/drift_check.py eseguito contro l'org reale: 1 ERROR atteso (lab-connectors, copia inline test-audit) che si chiude al merge della PR consumer corrispondente.
  • Simulazione dei comandi pytest della composite action per i 5 consumer: equivalente esatto agli originali.
  • YAML validati; pre-commit passati.

Controlli

  • Questa PR è nel repository giusto
  • Ho collegato issue o discussion quando serve (ADR-001 è la reference)
  • Ho verificato l'impatto su documentazione, codice o dati
  • Ho aggiornato solo quello che era davvero necessario
  • Test nuovi o modificati hanno marker — (script drift-check senza unit test: vedi note)
  • Se la PR fixa un bug: N/A

Note per chi revisiona

  • Ordine di merge consigliato: questa PR PRIMA, poi le PR consumer (lab-connectors, toolkit, source-observatory, agent-context-builder, lab-dashboard), perché usano python-ci@main che nasce qui.
  • Il job drift-check sarà rosso finché lab-connectors non migra su main (è il segnale voluto, non blocca il merge).
  • Follow-up annotati: ADR → accepted al merge; contatore repo nel rate-limit; dataset-incubator/lint.yml flaggato (WARN) pur non essendo un CI Python standard; unit test per drift_check.py (infra pytest da aggiungere al repo).

…n, rna-aiuti-stato, costituzione-italiana, data-advocacy, partecipate-monitor, project-template)
@Gabrymi93
Gabrymi93 merged commit 4761f3a into main Aug 16, 2026
1 of 2 checks passed
@Gabrymi93
Gabrymi93 deleted the docs/workflow-architecture-adr branch August 16, 2026 12:44
Gabrymi93 added a commit that referenced this pull request Aug 16, 2026
… dataset-config-check) (#27)

* docs(adr): ADR-001 accepted dopo merge #26

* feat: composite action gcs-auth (auth GCP JSON/base64 + output ready)

* feat: reusable workflow registry-update-pr (build → diff → draft PR)

* feat: reusable workflow dataset-config-check (loop preflight su dataset.yml)

* feat(drift-check): controlli E/F/G su componenti pipeline + ADR step 5 in corso

* fix(drift-check): data-advocacy fuori scope (privato) + skip robusto su 404

* fix: registry-update-pr da reusable a composite action (il registry deriva dai parquet locali, va nello stesso job del run)

* refactor(registry-update-pr): usa il toolkit già nel job (no reinstall, versione coerente col run)

* docs(adr): convenzione dipendenze (pyproject per pacchetti, requirements per dataset puri)

* docs(adr): §8 regole di dichiarazione (transitive non ripetute, versione nel repo, extra per contesto)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant