ForgejoActions/determineBumpType
2026-06-29 11:58:09 +02:00
..
action.yaml Ajout de l'action determineBumpType 2026-06-26 09:39:30 +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 "Determine bump type from commit message"

Description

Une action composite permettant de déterminer le type de bump de version (MAJOR, MINOR, PATCH) à effectuer à partir du message de commit.

L'action recherche les chaînes suivantes dans le message de commit :

  • [MAJOR] → bump MAJOR.
  • [MINOR] → bump MINOR.
  • Aucune des deux → bump PATCH (valeur par défaut).

Note : [MAJOR] est prioritaire sur [MINOR] si les deux sont présents dans le message.

Le résultat est exposé via la sortie bumpType, qui peut alimenter directement l'action versionBumper.

Paramètres

Paramètre Obligatoire Défaut Description
COMMIT_MESSAGE Oui Message du commit à parser.

Sorties

Sortie Description
bumpType Type de bump détecté : MAJOR, MINOR ou PATCH.

Exemple d'utilisation

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

  • Sortie via $FORGEJO_OUTPUT : l'action écrit dans $FORGEJO_OUTPUT. Elle est donc prévue pour s'exécuter sur un runner Forgejo. Pour la récupérer, il faut donner un id à l'étape et lire steps.<id>.outputs.bumpType.
  • Recherche sensible à la casse : les marqueurs recherchés sont exactement [MAJOR] et [MINOR] (en majuscules et avec les crochets). Une variante comme [major] ou MAJOR (sans crochets) ne sera pas reconnue et donnera PATCH.
  • Priorité : [MAJOR] l'emporte sur [MINOR] lorsque les deux marqueurs sont présents.
  • Comportement par défaut : tout message ne contenant aucun marqueur retourne PATCH — il n'y a jamais d'échec lié à un message "non reconnu".
  • Message multi-lignes : le COMMIT_MESSAGE peut contenir plusieurs lignes ; pensez à bien passer le message complet (ex. head_commit.message).