-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ajoute un fichier CHANGELOG.md #175
Conversation
0743249
to
d341ec5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Le format jumelé entre ce qu'on a sur openfisca-france et le 'Common Changelog' me semble un bon compromis, à éprouver sur la longueur 👍
Pour les zones impactées, c'est peut être utile, côté dev PNDS on s'en sert pour savoir si une release impacte nos aides calculées ou non. Donc pourquoi ne pas le reprendre.
Concernant les noms de catégories traduits, dans le contexte openfisca-france(-local), ça ne me dérange pas.
bf8b294
to
d341ec5
Compare
Je mets l'automatisation de publication de release Github de côté pour le moment. Le débug me prend trop de temps pour la valeur ajoutée. |
Bravo @Allan-CodeWorks pour la qualité de cette proposition 👏 Je trouve l'idée très pertinente, et inspirante pour une intégration a posteriori dans les autres modèles OpenFisca ! De manière générale, mon point de vue est qu'il serait préférable de respecter Common Changelog en tant que standard plus que de le voir comme une source d'inspiration, afin de pouvoir bénéficier de l'écosystème d'outils qui s'appuient sur Common Changelog pour, par exemple, extraire des métadonnées, ou générer un Changelog. Quelques retours détaillés ci-dessous pour se rapprocher de cet objectif 🙂 1 - le Header Common Changelog personnaliséJe suis bien d'accord avec « une PR = une release » (c'est le principe du GitHub Flow volontairement mis en place).
Cela donne ceci par exemple :
On notera la notice standardisée qui se répète pour chaque version publiée, avec une référence unique vers une PR, mais qui peut le cas échéant en référencer plusieurs. 2 - Optionel La notice Common ChangelogJe suggère donc d'utiliser la notice pour faire le lien vers les pull requests source du changement, et de ne pas l'utiliser à d'autres fins. 3 - La qualification des changements d'openfisca-franceDe mon point de vue, les informations essentielles données par la forme actuelle du changelog des modèles OpenFisca se retrouvent dans le format Common Changelog, dans une présentation différente mais qui rend le résumé au format actuel redondant. Je serais donc d'avis, si l'on veut s'appuyer sur Common Changelog, d'en débloquer la puissance en respectant réellement le standard et en faisant rentrer les informations nécessaires dans le format Common Changelog, c'est-à-dire en qualifiant les évolutions du système socio-fiscal comme des ajouts, modifications, suppressions. C'est déjà le choix qui a été fait pour la qualification SemVer : l'API publique considérée pour déterminer la version SemVer est celle du modèle. Refléter ce choix dans Common Changelog permettrait d'envisager l'automatisation du calcul du numéro de version. Ma proposition est donc de supprimer entièrement ce paragraphe, afin de respecter le format Common Changelog, et d'indiquer les informations associées dans les change groups. 4 - Les changements (Change groups de common-changelog)
Là encore, traduire, c'est casser la compatibilité avec tout l'écosystème d'outils Common Changelog. Je suggère donc de conserver le nommage d'origine. C'est dans les change groups qu'il faut à mon sens mandater le plus de détails, afin de retrouver la « zone impactée » (qui n'ont peut-être pas besoin de lister des fichiers dont la liste peut être obtenue directement sur GitHub ou dans Git) et les « périodes concernées ». Par exemple, pour la v6.0.1 :
Les releases githubOui, il me semble important de créer des tags pour chaque release. Je suis surpris que ça ne soit pas déjà le cas sur France-Local. Ça n'est pour autant pas urgent. L'automatisationJe confirme la pertinence et la puissance de l'automatisation des releases sur la base de Common Changelog (cf. OpenTermsArchive/engine#957). Le coût de mise en place n'est pas négligeable, mais cela fluidifie les releases et je crois que la fréquence de release sur un modèle comme France le justifierait vraiment, ce d'autant plus qu'il s'agit d'une friction systématique pour les nouveaux contributeurices. Je suggèrerais donc de tester la mise en place d'un changelog compatible avec Common Changelog, de tester les limites et l'appropriation puis, en cas de succès, d'envisager l'automatisation 🙂 On peut d'ailleurs, en ce sens, commencer par traduire les intitulés des change groups en français (car ce morceau d'anglais dans les titres est choquant, j'en conviens), et envisager la traduction en masse lorsqu'on se préoccupera de l'automatisation. |
Merci beaucoup @MattiSG pour ce retour complet et précis! En résumé, il me semble que nous avons donc un respect total du format Common Changelog avec une particularité : la notice limitée à une référence vers la Pull Request en question. |
@MattiSG Pour ce qui est de l'automatisation, je me permets de préciser quelques détails :
L'automatisation dont je parlais est celle des release Github qui est une fonction propre a Github, ni A première vue, une éventuelle vérification du fichier |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bravo, ça me semble super et c'est une amélioration vraiment bien construite ! J'ai hâte de voir à l'usage ce que ça donnera, si les informations seront plus pertinentes que ce qu'on a ailleurs, et le cas échéant de répliquer sur tout l'écosystème ! 👏
@@ -8,6 +8,15 @@ Certaines règles sont communes à tous les dépôts OpenFisca et sont détaill | |||
|
|||
## Gestion sémantique de version | |||
|
|||
Le niveau des évolutions d'OpenFisca-France-Local doivent pouvoir être comprises par des réutilisateurs qui n'interviennent pas nécessairement sur le code. | |||
Le niveau des évolutions d'OpenFisca-France-Local doivent pouvoir être comprises par des réutilisateurs qui n'interviennent pas nécessairement sur le code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Le niveau des évolutions d'OpenFisca-France-Local doivent pouvoir être comprises par des réutilisateurs qui n'interviennent pas nécessairement sur le code. | |
Les descriptions des évolutions d'OpenFisca-France-Local doivent pouvoir être comprises par des personnes qui n'interviennent pas nécessairement sur le code. |
1d6570f
to
7a2c5ef
Compare
7a2c5ef
to
8353ff6
Compare
Description
De l'avis de différentes personnes de la communauté, la mise en place d'un journal des changements apportés par les différentes release sur
openfisca-france-local
serait bénéfique.Avec la suggestion de @MattiSG, voici une proposition de mise en œuvre mêlant ce qui se fait déjà sur
openfisca-france
et de la standardisation inspirée de common changelog.Implantation
L'idée générale est de prendre la structure proposée par common changelog et d'y intégrer les éléments pertinents pour parler des évolutions liées au système socio-fiscale sur
openfisca-france-local
.Concrètement on se retrouve avec :
1 - le Header Common Changelog personnalisé
Initialement
## <version> - <date>
Si on suit les règles de Common Changelog.Je propose d'y ajouter la référence de la PR (Comme ce qui se fait dans
openfisca-france
).En effet, Common Changelog semble s'adapter à des projets avec des releases conséquentes, rassemblant plusieurs PR et donc les références sont précisés à chaques changements.
Chez nous, en écrasante majorité, une PR == une release
2 - Optionel La notice Common Changelog
La notice est optionelle est vient remplir plusieurs fonctions.
Il arrive que la release en question necessite une lecture particulière, détaillée à un autre endroit (issues, conversations, poste de blog ou encore un fichier
UPGRADING.md
dont nous n'avons pas encore besoin).La notice permet de renvoyer le lecteur vers ces informations essentielles.
Elle peut aussi permettre de clarifier une information essentielle, sans faire référence à un document externe.
Vous pouvez voir un exemple pour la version
6.0.0
.C'est un paragraphe d'une seule phrase, en italique
3 - La qualification des changements d'
openfisca-france
Les releases dans le changelog d'
openfisca-france
commencent par 4 informations :Les deux premières me semblent indispensables pour une meilleure compréhension des implications par les profils moins techniques.
Zones impactées apporte une synthèse précises des fichiers touchés, je me suis dit que c'était également utile même si dispensable. Qu'en pensez-vous ?
Détails Cette partie est équivalente aux Change groups de common-changelog. Je propose donc de ne pas l'inclure mais d'utiliser la syntaxe des change groups que je détaille dans la partie suivante.
4 - Les changements (Change groups de common-changelog)
L'idée de Common changelog est de présenter les changements par catégories distinctes.
Il existe 4 catégories:
Par cohérence avec le reste du projet, je propose de les traduire:
-> Merci de me faire des retours là-dessus.
On présente les catégorie avec un titre Markdown de 3ième niveau, et on liste les modifications. Exemple :
Les modifications sont triées : D'abord les breaking changes puis par ordre d'importance.
Détails :
Les préfixes :
Comme dans le changelog de la version
6.0.0
proposée ici, on peut voir le préfixe breaking qui va mettre en avant un changement particulier, ici changement qui entraine une incompatibilité avec les versions antérieures.C'est le préfixe qui me semble le plus utile, mais Common Changelog documente aussi d'autres utilités ici
Les releases github :
Common changelog recommande de créer des
tags
pour chaque version et de lié cetag
à unerelease
reprenant le contenu du changelog. Ceci me semble pertinent, à voir là mise en pratique (piste dans la section automatisation juste après.L'automatisation :
Il me semble intéressant de reprendre la vérification faite par la CI sur
openfisca-france
qui a pour but de vérifier si le changelog à bien été modifié avant d'accepter la PR.Pour la publication des releases, Common CHangelog aborde le sujet de l'automatisation de la chose dans sa documentation. Il est mentionné l'utilisation d'une action github facilitant la chose mais elle n'est pas publiée par github.
-> Qu´en pensez-vous ?
Conclusion :
Le but est d'itérer sur cette proposition pour arriver au résultat le plus utile et le moins contraignant possible.
Tout est sujet à discussion, vos avis sont bienvenus.
J'attire cependant votre attention et sollicite vos retours sur les points suivants :
openfisca-france
à garde et notammentDétails