assemblee-virtuelle / archipelago

Fostering interconnections between communities by creating synergies between their platforms
Apache License 2.0
14 stars 6 forks source link

Versionnement d'Archipelago #108

Closed mguihal closed 1 year ago

mguihal commented 1 year ago

Tension N/A

Proposition Actuellement, Archipelago n'est pas versionné, et ne possède pas de changelog. Or visiblement il y a plusieurs projets qui l'utilisent un peu partout et ça rend plus difficile de :

Je propose d'utiliser Semver, et de régulièrement créer de nouvelles releases/tags en y intégrant un changelog des derniers commits

Alternatives N/A

srosset81 commented 1 year ago

Cela me semble être une bonne idée aussi ! Je propose de mettre le changelog directement dans la release Github car, pour avoir créé un changelog pour le projet SemApps, c'est lourd à maintenir, notamment parce qu'on ne peut pas mettre des liens facilement vers les commits et les PRs.

simonLouvet commented 1 year ago

@srosset81 et @mguihal j'up cette issue. Pour le moment nous versionnons nos container archipelago sur Data Players pour garantir la maintenabilité. Pour pouvoir garantire cette maintenabilité à chaque rebuild tout en se basasn sur ce repo git (ne pas changer de code entre les rebuild) il nous faudrait un branche pour chaque release. Je propose donc que un branche et une release soit créé par celles et ceux qui en ont besoin lors de l'ajout d'une fonctionnalité qui doit être mis en prod par exemple.

Ca vous convendrait?

mguihal commented 1 year ago

Effectivement, avec la migration vers react-admin 4 qui va arriver d'ici quelques jours, ça va casser des intégrations si on ne versionne pas ce repository :)

Plutôt qu'une branche, un tag ferait totalement l'affaire. Il est possible de faire un git checkout 1.0.0 par exemple si un tag 1.0.0 existe. Est-ce que ça t'irait @simonLouvet ? Ca serait la solution la plus simple, sachant qu'on peut créer un tag en même temps qu'une release dans Github.

La question que je me pose, c'est plutôt comment démarrer le versionnement ? Considère-t'on que la version actuelle serait une 1.0.0, et que la prochaine mise-à-jour de react-admin (ou le prochain breaking) serait une 2.0.0 ? Ou sinon on commence en 0.1.0 ? Puis 0.2.0 ? (comme fait semapps actuellement) Le souci que je vois avec cette deuxième possibilité c'est qu'en s'interdisant d'utiliser le premier chiffre de semver, on ne distingue plus les évolutions major (=breaking change) des minor (=ajout de fonctionnalité sans impact sur l'existant), obligeant de lire le changelog à chaque mise à jour...

simonLouvet commented 1 year ago

Ok pour utiliser les tag et pas les branches. Je propose de considérer que nous somme en 0.1.0 actuellement et la le pasage en react-admin 4 soit le passage en 0.2.0.

ok @mguihal et @srosset81

srosset81 commented 1 year ago

Je pense que Archipelago est suffisamment mature pour qu'on envisage de passer en 1.0.0 lorsque le passage à React-Admin v4 sera validé. C'est vrai que c'est plus difficile de distinguer les BC lorsqu'on fonctionne en 0.x.0. Pour SemApps ça a été mieux comme ça mais pour Archipelago je n'en vois pas la nécessité.

srosset81 commented 1 year ago

J'ai créé une branche next et une PR pour la v1.0.0 https://github.com/assemblee-virtuelle/archipelago/pull/126

srosset81 commented 1 year ago

C'est bon, première release publiée: https://github.com/assemblee-virtuelle/archipelago/releases/tag/v1.0.0