2.9 KiB
2.9 KiB
Action "Version Bumper"
Description
Une action composite permettant de récupérer et d'incrémenter la version
contenue dans le fichier .version à la racine du dépôt.
La version suit le format SemVer :
MAJOR.MINOR.PATCH (ex. 1.4.2). Selon le type de bump demandé, l'action
incrémente la partie correspondante :
MAJOR:1.4.2→2.0.0(réinitialise minor et patch).MINOR:1.4.2→1.5.0(réinitialise patch).PATCH:1.4.2→1.4.3.
L'action configure ensuite un utilisateur git, écrit la nouvelle version dans
.version, puis commit et push le changement.
Astuce : le type de bump peut être déterminé automatiquement à partir du message de commit grâce à l'action
determineBumpType, dont la sortie peut alimenter le paramètrebumpType.
Paramètres
| Paramètre | Obligatoire | Défaut | Description |
|---|---|---|---|
bumpType |
Non | PATCH |
Type de bump de version : MAJOR, MINOR ou PATCH. |
Exemple d'utilisation
steps:
- name: Bump de la version
uses: https://forgejo.pixao.fr/CI-CD/ForgejoActions/versionBumper@master
with:
bumpType: MINOR
Combiné avec determineBumpType :
steps:
- name: Déterminer le type de bump
id: bump
uses: https://forgejo.pixao.fr/CI-CD/ForgejoActions/determineBumpType@master
with:
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
- name: Bump de la version
uses: https://forgejo.pixao.fr/CI-CD/ForgejoActions/versionBumper@master
with:
bumpType: ${{ steps.bump.outputs.bumpType }}
Points d'attention
- Fichier
.versionrequis : le fichier.versiondoit exister à la racine du dépôt et contenir une version valide au formatMAJOR.MINOR.PATCH. Sinon lecatéchoue ou produit une version incohérente. - Valeurs sensibles à la casse : le paramètre
bumpTypeest comparé en majuscules (MAJOR,MINOR,PATCH). Une valeur commeminorouPatchne déclenchera aucune des étapes et aucun bump ne sera effectué. - Commit & push automatiques : l'action pousse directement sur la branche
courante. Le runner doit donc disposer des droits d'écriture (token avec
permission
contents: write/ accès push configuré). [skip ci]: le message de commit contient[skip ci]afin d'éviter de redéclencher un pipeline en boucle. Vérifiez que votre CI respecte bien cette convention.- Checkout complet : assurez-vous que l'étape de checkout permet le push (branche correctement positionnée, pas en état detached HEAD).
- Échec si rien à committer : l'étape
Commit & pushéchoue si aucun changement n'a été ajouté (par exemple sibumpTypeest invalide), cargit commitn'a rien à committer.