MAJ de la doc determine bumpType & ajout de la doc pour dockerLogin et versionBumper

This commit is contained in:
Hugo 2026-06-29 11:58:09 +02:00
parent 05c5db3454
commit 257e204d11
3 changed files with 178 additions and 6 deletions

73
versionBumper/README.md Normal file
View file

@ -0,0 +1,73 @@
# 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](https://semver.org/lang/fr/) :
`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è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
```yaml
steps:
- name: Bump de la version
uses: ./versionBumper
with:
bumpType: MINOR
```
Combiné avec `determineBumpType` :
```yaml
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.