← tous les projets

gha-svu — le versionnage sémantique dans GitHub Actions

Une action composite qui calcule la prochaine version sémantique avec SVU v3, et pose le tag si tu lui demandes.

// aperçu

Décider du prochain numéro de version à la main, c’est le genre de tâche qu’on finit toujours par bâcler. SVU le fait très bien à partir des commits — encore faut-il l’installer et lui passer les bons arguments dans chaque workflow. gha-svu emballe tout ça dans une action composite : une étape, et tu as ta version.

Ce qu’elle fait

Elle installe SVU (v3 minimum), calcule la version, et expose trois sorties : current, next, et changed — un booléen qui te dit si les commits ont effectivement provoqué un incrément. Les six sous-commandes de SVU sont disponibles : current, next, major, minor, patch et prerelease.

Douze entrées couvrent le reste : identifiant de préversion, métadonnées de build, préfixe et motif de tag, mode de tag (all, light, heavy), restriction aux commits touchant certains dossiers, incrément forcé du patch même sans commit qualifiant, et épinglage d’une version précise de SVU plutôt que la dernière.

Deux détails qui évitent des surprises

Elle refuse de démarrer si tu lui demandes une version de SVU antérieure à v3, avec un message d’erreur explicite plutôt qu’un comportement inattendu plus loin dans le workflow.

Et elle ne passe --always et --v0 qu’à la sous-commande next : les autres les rejettent comme des drapeaux inconnus. C’est le genre de détail qu’on découvre en production, une fois.

Où elle en est

Trois versions publiées (v0.0.1 à v0.0.3), deux workflows d’intégration — un sur les pull requests, un pour la publication. Pas encore sur la Marketplace GitHub : elle s’utilise en référençant directement le dépôt.

// stack

// code

// articles liés

Tapez au moins 2 caractères.

télécharger ↓