Mise en place de CI (continuous integration)

C’est une excellente remarque et question.

Sur la machinerie

La machinerie semble de plus en plus complexe

Notamment James (et moi-même) aurions préféré aller sur Github (Mini CR d’une rencontre en juillet 2023) pour se décharger d’une grande part de la gestion de cette machinerie justement.

Le choix d’une instance Gitlab a été assumée, ou imposée dirons certain·es, qui améliore pas mal de points, mais ça oblige tout de même à maintenir des outils tierces, et donc prendre du temps pour ça, au détriment d’autres sujets aussi.

Alors oui, il y a la mise en place de

  • spip/composer (un dépot Composer avec Satis — sur la machine spip.net)
  • SPIP Flex recipes (en dev, un dépot de recettes Symfony Flex — sur la machine spip.net)
  • https://hub.docker.com/r/spip/tools (en dev, une image docker pour les CI, qui pourrait peut être être mise dans le Gitlab qui peut aussi gérer des images docker* avec une configuration spécifique…)
  • ou ou des Runners pour les CI… ce n’est pas très sorcier en fait (juste on n’en aurait pas eu besoin sur Github non plus)
  • peut être d’autres choses auxquelles qui ne me reviennent pas là ?

*) mais je suppose que James préfèrerait également que ça reste sur le Docker hub… c’est comme pour Packagist en fait : gérer un Satis en plus comme on fait, c’est toujours de la gestion / maintenance en plus (en plus de compliquer le composer.json pour déclarer ce dépôt)

Alors la documentation de tout ça…

On essaie d’avoir une doc à jour dans les dépots Git avec les Readme, mais oui tout n’est pas documenté certainement.

Peut être que tu parles là d’une doc pour le fichier gitlab-ci.yml ? peut être qu’il y aura cela… mais du copier / coller / test c’est pas si mal non plus… et le fichier n’est pas si compliqué que ça à comprendre pour le moment en tout cas.

Sur les humain·es

espérons qu’il y aura toujours des gens pour maintenir tout ça…

Gérer ces outils & documenter ces sujets, ça repose un peu sur les mêmes petites personnes effectivement, qui aimeraient d’ailleurs aussi s’amuser à faire d’autres choses que de la maintenance, de la doc, et garder un peu de bonne humeur :partying_face:, bah c’est pas si simple !

Clairement

  • peu de personnes ont du temps (libre) à consacrer au logiciel, déjà de base,
  • et encore moins au cœur de SPIP
  • peu soutiennent l’évolution de son code et préfèreraient une forme de statut-quo
  • des questions d’architecture du code plus qualitatif (clean, solid, tdd, ddd, cqrs, hexagonal, tous ces trucs barbares quoi…) ne sont pas abordées, et perçues comme techniciennes / prises de tête / de dev / d’ingénieur·e ,
  • => la simplicité d’usage de SPIP pour des non technicien·nes (amha on peut déjà questionner un peu ce point) cache un code sous le capot, qui a 20 ans d’ajouts successifs (c’est assez gros & intriqué), qui n’est lui pas du tout simple à appréhender, et quasi incompréhensible par toute personne extérieure car rien n’est dans les standards de «patterns» et terminologies utilisées actuellement en programmation (ce qui n’aide pas les IDE non plus),
  • les gens qui connaissent bien le cœur de SPIP et son fonctionnement global, s’en vont, ou sont bien moins actifs, au fur et à mesure des années,
  • ou ne sont pas trop intéressés par un refactoring ambitieux : et je comprends aussi, le «tant que ça marche».

Et oui ça me questionne aussi. J’ai aussi des hauts et surtout pas mal de bas sur ma motivation. Là c’est l’hiver, en général, je suis plus à l’intérieur avec un peu plus de temps pour faire des trucs d’ordi… mais se motiver à passer du temps libre là dessus, alors que beaucoup de chose porte à faire baisser les bras (que ce soit l’intrication du code qui rend les transformations difficiles, la résistance au changement dans la communauté, l’état du monde extérieur politique, social, environnemental), c’est pas si évident…

Imaginer que c’était plus simple avant, je n’en suis pas très sûr non plus. Ce n’était pas la même dynamique et contexte avant non plus.


Bref… après la mini-joie de mise en place de CI, il faudrait que je mette à jour les outils de release que je procrastine depuis plus d’un mois pour gérer les quelques changements introduits en 4.4 et 5.0… Et ça me fatigue d’avance… Tu vois, je préfère même encore faire un long mail ici, qui n’apporte pas grand chose de neuf au final, et peu de réponses !

Bref, des :purple_heart: à toustes quand même :slight_smile:

9 « J'aime »