L’outil Spip Release

J’ai passé pas mal de temps à tout réécrire le petit outil, une version 2.0 — plus si petit — qui permet aux personnes qui font les releases d’avoir un aperçu de ce qui est à faire, sur les différents plugins-dist et SPIP. J’arrive doucement à un stade où il me semble peu ou prou de nouveau opérationnel enfin.

La nouvelle principale c’est qu’il devrait permettre d’aider aux releases de n’importe quel plugin ou librairie de la zone : il analyse les commits effectués depuis le tag précédent et va proposer une nouvelle version, un changelog, etc, en fonction notamment des logs de commits conventionnels. Il reste une phase au moins d’édition (le fichier changelog), mais l’ensemble me paraît plus facile qu’avec la version 1.

Et surtout donc, il fonctionne avec SPIP 4.4 et 5.0 aussi, tout en vérifiant également
les différentes librairies de spip-league/ qui sont utilisées.

Il y a 2 commandes actuellement pour les plugins/package : check:package ou release:package

Un exemple avec

  • composer release:package spip-contrib-extensions/saisies

Qui sort ce jour quelque chose comme cela

  • La version proposée est fonction des types des logs (fix, feat, change, …) et du ! éventuel qui signifie « breaking change ».
  • Le changelog proposé s’appuie aussi sur cela, et sur les trailers git, notamment
  • Refs: #15, => indiquera cette issue dans en tête de l’entrée de changelog
  • Changelog: changed => utilisera ce log (la première ligne) en tant que section « changed » du changelog, même si le type est autre chose

C’est pas aussi bien que si c’était fait à la main, mais ça offre déjà une première base de texte.

Éventuellement on pourrait ajouter une option pour ne prendre que les logs qui ont le trailer Changelog: xxx

Voilou. La suite un autre jour :slight_smile:

5 « J'aime »

Merci tout plein pour le temps passé là dessus sur tes vacances !

Grande classe ! En plus ça permet à plus de personnes de s’intéresser à l’usage de l’outil et donc potentiellement à participer aux releases de SPIP :slight_smile:

Mais c’est déjà beaucoup.

Pas nécessaire amha, puisqu’on a dit que les changelogs sont à la charge de l’équipe de maintenance. Mais, comme on se le disait, ça pourrait être utile si on revenait sur notre méthode de megre en utilisant un commit de fusion pour les PRs dont le trailer pourrait être géré par l’équipe de maintenance.

Hâte de voir ça !

Hâte de tester cela pour un plugin lambda. Un grand merci !

Merci !!

Note: J’ai recodé finalement la gestion de plugins-dist.json, ce qui pourra servir au moins à SPIP 4.3 pendant quelques mois.

Pour la 4.4 si les avis semblent converger, je serai néanmoins favorable pour migrer sur Composer donc.

1 « J'aime »

Bonjour,

Est-ce qu’il y a un lien, un git, une page de référence pour trouver cet outil ?

J’aimerais l’étudier, si c’est un logiciel libre.

Merci d’avance.

C’est là ! spip-contrib-outils / Spip Releases · GitLab

2 « J'aime »

Merci et bravo !