Aller au contenu

jinflow make

La commande make est le pipeline de build. Elle compile les instruments YAML, exécute dbt et produit le KLS.

Fenêtre de terminal
jin make # build current tenant
jin make --tenant millesime.domaine_zufferey # build a specific tenant
jin make --pack alptrack # build all tenants in a pack
jin make --all # build all tenants across all packs

--sync copie les CSV depuis la Data Landing Zone (DLZ) dans le répertoire raw/ du tenant avant la construction. Seuls les fichiers modifiés sont copiés (comparaison SHA-256 contre le manifeste précédent).

Fenêtre de terminal
jin make --sync # sync DLZ → raw → build
jin make --all --sync # all tenants, only copy changed CSVs
jin make --tenant millesime.domaine_zufferey --sync # single tenant with sync

--extract exécute les scripts d’extraction spécifiques au système source (par ex. Excel → CSV) dans la DLZ avant la synchronisation. Implique --sync.

Fenêtre de terminal
jin make --extract # extract Excel → CSV → sync → build
jin make --all --extract # extract + sync + build all tenants

Tous les systèmes source n’ont pas de pipelines d’extraction. Les tenants sans pipeline sautent l’extraction et passent à la synchronisation.

--clean supprime les artefacts de build intermédiaires (SQL compilé, CSV enrichis) et force un rebuild complet. Ne touche pas l’AFS ou les données brutes.

Fenêtre de terminal
jin make --clean # clean rebuild
jin make --tenant millesime.domaine_zufferey --clean # reset single tenant

--snapshot fige le KLS après un build réussi. Le snapshot est immuable — make refusera de l’écraser.

Fenêtre de terminal
jin make --snapshot # auto-tagged: YYYYMMDD-HHMM
jin make --snapshot post-audit # named snapshot
FlagEffet
--syncCopier les CSV modifiés depuis DLZ → raw/
--pruneSupprimer les fichiers de raw/ qui n’existent plus dans DLZ (avec —sync)
--extractExécuter les scripts d’extraction, conditionnel aux changements de fichiers Excel (implique —sync)
--cleanClean rebuild, supprimer les intermédiaires
--snapshot [tag]Figer le KLS après le build
--allConstruire tous les tenants sur tous les packs
--pack <name>Construire tous les tenants d’un pack
--tenant <id>Construire un tenant spécifique (pack.tenant)
--continue-on-errorNe pas s’arrêter sur les erreurs compilateur/dbt
--quietSupprimer la sortie dbt
--skip-enrichSauter la phase d’enrichissement CSV
--skip-validateSauter la validation de schéma CSV
--metadata-onlyUniquement rebake les métadonnées (logo, branding, about) — sauter toutes les phases de build
0a Extract (--extract, source-system-specific)
0b Sync from DLZ (--sync, copies changed CSVs to raw/)
1a Validate CSVs (schema check against source system definition)
1b Enrich CSVs (taxonomy generation, backfill, normalization)
2 Compile (YAML → dbt SQL: signals, theses, verdicts, ...)
3 dbt build (Bronze → Silver → Gold → Signals → Theses → ...)
4 Post-build (pipeline graph, audit reports, PDF generation)
5 Stamp + package (metadata, AFS archive, snapshot)
  • —extract hache les fichiers Excel contre _extract_manifest.json — saute l’extraction si inchangé
  • —sync ne copie que les CSV dont le hash SHA-256 diffère du manifeste de synchronisation précédent
  • —prune supprime les fichiers de raw/ qui n’existent plus dans DLZ (défaut : avertissement uniquement)
  • Les systèmes sans extraction sont ignorés avec un message info (pas de répertoire xslx/ → pas de pipeline d’extraction)
  • Changements metadata-only auto-détectés : si seuls tenant.yml, about.yaml, logo ou jinflow.yml ont changé depuis le dernier build, rebake les métadonnées sans exécuter dbt. Aussi disponible via --metadata-only
  • Builds incrémentaux réutilisent le KLS existant — dbt saute les modèles qui n’ont pas changé
  • Builds échoués sont détectés à la reprise (stamp KLS manquant → démarrage frais automatique)
Fenêtre de terminal
# Daily routine: sync new data, rebuild
jin make --all --sync
# After editing signals/theses: rebuild without re-syncing data
jin make
# Fresh start after schema changes
jin make --clean
# Just update logo/branding (no rebuild)
jin make --metadata-only
# Freeze a good state before making changes
jin make --snapshot before-refactor
# Build only the millesime pack
jin make --pack millesime --sync
# Extract new Excel files, sync, build
jin make --tenant millesime.domaine_zufferey --extract
jazzisnow jinflow is a jazzisnow product
v0.45.1 · built 2026-04-17 08:14 UTC