From 5d3040a6ecbbc9bc33d9bd1c033b42c7870958fb Mon Sep 17 00:00:00 2001 From: sylvain Date: Fri, 13 Mar 2026 04:20:36 +0100 Subject: [PATCH] docs(v1.4.0): update README, freeze CHANGELOG, bump version Co-Authored-By: Claude Sonnet 4.6 --- CHANGELOG.md | 31 +++++++++++++++++++++---------- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++------ pyproject.toml | 2 +- 3 files changed, 66 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 60542a7..961ed03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,30 +6,39 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). ## [Unreleased] +## [1.4.0] - 2026-03-13 + ### Added -- Support de fichier de configuration YAML (`.gitea-dashboard.yml` ou `~/.config/gitea-dashboard/config.yml`) -- Option `--config` pour specifier un fichier de configuration alternatif -- Resolution des variables `${VAR}` dans les fichiers de configuration -- Priorite de configuration : CLI > variables d'environnement > fichier config > defauts -- Vue milestones dediee avec `--milestones` (tableau Repo/Milestone/Open/Closed/Progress) -- Colonnes configurables avec `--columns` (inclusion, exclusion par prefixe `-`, `--columns help`) +- Vue milestones dédiée avec `--milestones` (tableau Repo/Milestone/Open/Closed/Progress) +- Support de fichier de configuration YAML (`~/.config/gitea-dashboard/config.yml`) +- Option `--config` pour spécifier un fichier de configuration alternatif +- Résolution des variables d'environnement `${VAR}` dans les fichiers de configuration +- Priorité de configuration : CLI > variables d'environnement > fichier config > défauts +- Colonnes configurables avec `--columns` (inclusion, exclusion par préfixe `-`, `--columns help`) +- Rétrocompatibilité `--no-desc` maintenue avec `--columns` - Export JSON des milestones via `--milestones --format json` -- Parametre `state` dans `client.get_milestones()` (defaut: "open", supporte "all" pour la vue milestones) +- Paramètre `state` dans `client.get_milestones()` (défaut : "open", supporte "all" pour la vue milestones) + +### Changed + +- Colonne `activity` désormais rendue dans le tableau principal ### Fixed -- Degradation gracieuse sur timeout reseau pendant la pagination (retourne les donnees partielles au lieu de crasher) +- Dégradation gracieuse sur timeout réseau pendant la pagination (retourne les données partielles au lieu de crasher) +- Incohérence clé `token`/`auth` corrigée dans le chargement du fichier de configuration YAML +- Détection et rejet des variables `${VAR}` non résolues dans le token ### Technical - Nouveau module `config.py` pour la gestion de configuration YAML (ADR-013) -- Nouvelle dependance PyYAML >= 6.0 +- Nouvelle dépendance PyYAML >= 6.0 - Dataclass `MilestoneData` dans `collector.py` (ADR-014) - Fonction `collect_milestones()` avec filtrage include/exclude et state=all - Fonctions `render_milestones()`, `parse_columns()`, `AVAILABLE_COLUMNS` dans `display.py` - Fonctions `milestones_to_dicts()`, `export_milestones_json()` dans `exporter.py` -- Refactoring : `_filter_repos()` extrait la logique de filtrage partagee dans `collector.py` +- Refactoring : `_filter_repos()` extrait la logique de filtrage partagée dans `collector.py` ## [1.3.0] - 2026-03-12 @@ -86,6 +95,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). - Gestion des erreurs réseau (connexion refusée, timeout, erreurs API) - Masquage du token dans les messages d'erreur +[Unreleased]: https://gitea.tsmse.fr/admin/gitea-dashboard/compare/v1.4.0...HEAD +[1.4.0]: https://gitea.tsmse.fr/admin/gitea-dashboard/compare/v1.3.0...v1.4.0 [1.3.0]: https://gitea.tsmse.fr/admin/gitea-dashboard/compare/v1.2.0...v1.3.0 [1.2.0]: https://gitea.tsmse.fr/admin/gitea-dashboard/compare/v1.1.0...v1.2.0 [1.1.0]: https://gitea.tsmse.fr/admin/gitea-dashboard/compare/v1.0.0...v1.1.0 diff --git a/README.md b/README.md index 38043d3..82ac698 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ Dashboard CLI affichant en une commande l'état de tous les repos d'une instance - Python >= 3.10 - Accès à une instance Gitea avec un token API +- Dépendances : `requests`, `rich`, `PyYAML` ## Installation @@ -15,7 +16,7 @@ pip install -e . ## Configuration -Le dashboard se configure via deux variables d'environnement : +### Variables d'environnement | Variable | Description | Défaut | |----------|-------------|--------| @@ -24,19 +25,36 @@ Le dashboard se configure via deux variables d'environnement : Pour créer un token : Gitea > Settings > Applications > Generate Token. -Exemple de configuration dans votre shell : - ```bash export GITEA_URL=https://gitea.tsmse.fr # Définir GITEA_TOKEN avec la valeur obtenue depuis Gitea > Settings > Applications ``` +### Fichier de configuration YAML + +Le dashboard peut être configuré via un fichier YAML, évitant de répéter les variables d'environnement à chaque session. Le fichier est recherché dans l'ordre suivant : + +1. Chemin spécifié via `--config` +2. `~/.config/gitea-dashboard/config.yml` + +Les variables d'environnement `${VAR}` sont résolues automatiquement dans le fichier. + +```yaml +url: https://gitea.tsmse.fr +token: ${GITEA_TOKEN} +``` + +La priorité de résolution est : options CLI > variables d'environnement > fichier de configuration > valeurs par défaut. + ## Usage ```bash gitea-dashboard # ou python -m gitea_dashboard + +# Avec un fichier de configuration spécifique +gitea-dashboard --config /chemin/vers/config.yml ``` ### Vérification de la connexion @@ -87,12 +105,32 @@ gitea-dashboard --sort issues gitea-dashboard -s activity ``` -### Colonne Description +### Colonnes configurables -Le tableau affiche par défaut une colonne "Description" (tronquée à 40 caractères). Pour la masquer : +L'option `--columns` permet de choisir les colonnes affichées dans le tableau : ```bash -gitea-dashboard --no-desc +# Afficher uniquement les colonnes repo et issues +gitea-dashboard --columns repo,issues + +# Exclure la colonne description +gitea-dashboard --columns -description + +# Lister les colonnes disponibles +gitea-dashboard --columns help +``` + +Pour masquer la colonne description, l'option historique `--no-desc` reste disponible (équivalent à `--columns -description`). + +### Vue milestones + +L'option `--milestones` affiche un tableau dédié avec la progression de chaque milestone (colonnes Repo/Milestone/Open/Closed/Progress) : + +```bash +gitea-dashboard --milestones + +# Export JSON des milestones +gitea-dashboard --milestones --format json ``` ### Export JSON diff --git a/pyproject.toml b/pyproject.toml index 38ed47c..b7f001c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "gitea-dashboard" -version = "1.3.0" +version = "1.4.0" description = "CLI dashboard for Gitea repos status" requires-python = ">=3.10" dependencies = [