ForgejoActions/versionBumper
2026-06-29 11:58:09 +02:00
..
action.yaml Ajout des actions dockerLogin et versionBumper 2026-06-04 09:27:01 +02:00
README.md MAJ de la doc determine bumpType & ajout de la doc pour dockerLogin et versionBumper 2026-06-29 11:58:09 +02:00

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.22.0.0 (réinitialise minor et patch).
  • MINOR : 1.4.21.5.0 (réinitialise patch).
  • PATCH : 1.4.21.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ètre bumpType.

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: ./versionBumper
    with:
      bumpType: MINOR

Combiné avec determineBumpType :

steps:
  - name: Déterminer le type de bump
    id: bump
    uses: ./determineBumpType
    with:
      COMMIT_MESSAGE: ${{ github.event.head_commit.message }}

  - name: Bump de la version
    uses: ./versionBumper
    with:
      bumpType: ${{ steps.bump.outputs.bumpType }}

Points d'attention

  • Fichier .version requis : le fichier .version doit exister à la racine du dépôt et contenir une version valide au format MAJOR.MINOR.PATCH. Sinon le cat échoue ou produit une version incohérente.
  • Valeurs sensibles à la casse : le paramètre bumpType est comparé en majuscules (MAJOR, MINOR, PATCH). Une valeur comme minor ou Patch ne 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 si bumpType est invalide), car git commit n'a rien à committer.