Salsa : développement collaboratif Debian

Salsa est la plateforme de développement collaboratif de Debian, hébergée sur salsa.debian.org. Elle repose sur GitLab Community Edition et fournit hébergement Git, suivi des tickets, merge requests, intégration continue et coordination de projets pour les travaux liés à Debian.

Elle ne remplace ni l'archive de paquets Debian, ni le système de suivi des bogues, ni les listes de diffusion, ni les autres infrastructures du projet. Son rôle est plus étroit et pratique : fournir un lieu commun où les dépôts sources et les travaux qui les entourent peuvent être développés de manière collaborative.

Rôle dans le développement Debian

Salsa est utilisé par des mainteneurs individuels, des équipes de packaging et d'autres contributeurs Debian. Les dépôts peuvent contenir l'historique de maintenance de paquets, les métadonnées de packaging Debian, des outils, de la documentation, des sites web ou de l'infrastructure liée au projet.

Un flux de travail typique combine plusieurs outils et services établis plutôt que d'essayer de faire de GitLab le centre de tout. Git enregistre l'historique des sources ; les merge requests fournissent une surface de revue ; la CI peut exécuter des vérifications automatisées ; les autres infrastructures Debian restent référentes pour les envois de paquets, les bogues, la politique et les versions de la distribution.

Cette séparation est utile. Un dépôt peut rendre le développement transparent et révisable sans confondre la plateforme de développement avec la distribution elle-même.

Git et merge requests

Salsa utilise le modèle de contribution GitLab habituel. Le travail peut être développé sur une branche, poussé vers un dépôt ou un fork, puis soumis sous forme de merge request pour revue.

Pour les travaux Debian, l'intérêt ne réside pas seulement dans le fait que Git soit hébergé sur un service web. Le dépôt préserve une suite de changements pouvant être revue et facilite l'inspection des décisions de packaging, correctifs et travaux de maintenance avant leur intégration.

Les mêmes principes que j'applique à mes autres projets techniques s'appliquent ici :

  • garder les changements ciblés et compréhensibles ;
  • utiliser une branche dédiée pour chaque changement logique ;
  • inspecter le diff avant publication ;
  • exécuter localement les tests pertinents lorsque c'est possible ;
  • utiliser la CI comme vérification supplémentaire, pas comme substitut à la compréhension du changement ;
  • conserver un historique de commits utile aux futurs mainteneurs.

Salsa CI

Debian fournit Salsa CI, une chaîne d'intégration continue réutilisable pour les paquets Debian. Elle peut exécuter des contrôles de packaging et de qualité avant que les modifications n'atteignent l'archive Debian.

Selon le projet et sa configuration, la CI peut exercer la construction des paquets, les tests, le linting, les contrôles de reproductibilité ou d'autres étapes de vérification. La chaîne exacte fait partie de la configuration du dépôt et doit être lue plutôt que supposée.

La CI est particulièrement utile comme second environnement reproductible : une modification qui ne fonctionne que sur la machine du développeur ne constitue pas encore une preuve convaincante qu'elle est prête à être intégrée.

Relation avec la contribution à Debian

Posséder un compte Salsa ne fait pas automatiquement de quelqu'un un Debian Developer ou un Debian Maintainer. Ces rôles ont leurs propres procédures, responsabilités et niveaux d'accès.

Salsa constitue néanmoins un point d'entrée important pour des contributions concrètes. Il permet d'inspecter les dépôts actifs, de préparer des changements, de participer aux revues et de collaborer avec les équipes qui maintiennent les logiciels et l'infrastructure Debian.

Cela le rend utile aussi bien aux mainteneurs établis qu'aux contributeurs qui commencent par de petites améliorations techniquement vérifiables.

Mon compte Salsa

Mon compte personnel Salsa est disponible sur salsa.debian.org/fgm. Il constitue le point d'entrée public de mon activité Git orientée Debian : dépôts, forks, branches, merge requests et autres contributions hébergées sur Salsa peuvent y être suivis.

J'utilise ce compte dans le cadre d'un flux de contribution fondé sur de petits changements ciblés, une vérification locale, des branches dédiées et une revue via merge requests lorsque c'est pertinent. Le profil Salsa est l'endroit de référence pour l'activité réelle des dépôts ; cette page fournit le contexte général et documente ma manière d'utiliser Salsa dans le développement Debian.

À mesure que les contributions s'accumulent, cette section pourra être enrichie de liens vers des merge requests ou dépôts importants sans tenter de dupliquer le flux d'activité complet maintenu par Salsa lui-même.

Ressources officielles :