116 lines
3.3 KiB
Markdown
116 lines
3.3 KiB
Markdown
|
|
# L'action `Load bashlib`
|
|
|
|
Cette action permet de télécharger et d'utiliser la bibliothèque `bashlib.sh` qui contient plusieurs fonctions utilitaires pour faciliter la gestion des erreurs, des étapes et des messages de débogage dans vos scripts bash.
|
|
Elle est conçue pour être utilisée dans des workflows Gitea avec des runners auto-hébergés.
|
|
|
|
---
|
|
|
|
## 🔧 Utilisation
|
|
|
|
```yaml
|
|
- name: Load bashlib
|
|
uses: https://gargoton.petite-maison-orange.fr/pmo-actions/load-bashlib@main
|
|
```
|
|
|
|
---
|
|
|
|
## 📥 Paramètres
|
|
|
|
| Nom | Obligatoire | Par défaut | Description |
|
|
|---------------------|-------------|----------------------------------------|--------------------------------------------------------|
|
|
| `script` | ❌ | `bashlib.sh` | Nom du fichier de script à télécharger. |
|
|
| `gitea_server` | ❌ | `https://gargoton.petite-maison-orange.fr` | Adresse du serveur Gitea où le script est stocké. |
|
|
| `gitea_repository` | ❌ | `pmo-actions/bash-library` | Nom du dépôt Gitea contenant la bibliothèque. |
|
|
| `gitea_branch` | ❌ | `main` | Branche du dépôt Gitea à utiliser. |
|
|
|
|
---
|
|
|
|
## ▶️ Exemple de workflow
|
|
|
|
```yaml
|
|
- name: Load bashlib
|
|
uses: https://gargoton.petite-maison-orange.fr/pmo-actions/load-bashlib@main
|
|
|
|
- name: Build my project
|
|
run: make build
|
|
|
|
- name: Another step
|
|
shell: bash
|
|
run: |
|
|
source "${{ github.action_path }}/../bashlib.sh"
|
|
debug "Step 1" "This is a debug message"
|
|
step "Building image" "Starting to build the Docker image"
|
|
```
|
|
|
|
---
|
|
|
|
## 🛠️ Fonctions de la bibliothèque Bash
|
|
|
|
### `debug()`
|
|
Affiche un message de débogage, si le mode `DEBUG` est activé.
|
|
|
|
**Paramètres** :
|
|
- `prompt` : Le texte affiché avant le message.
|
|
- `message` : Le message à afficher.
|
|
|
|
**Exemple** :
|
|
```bash
|
|
debug "Step 1" "This is a debug message"
|
|
```
|
|
|
|
### `error()`
|
|
Affiche un message d'erreur en rouge et arrête l'exécution du script.
|
|
|
|
**Paramètres** :
|
|
- `prompt` : Le texte affiché avant le message.
|
|
- `message` : Le message d'erreur à afficher.
|
|
|
|
**Exemple** :
|
|
```bash
|
|
error "Command not found" "curl is missing"
|
|
```
|
|
|
|
### `step()`
|
|
Affiche un message informatif pour marquer une étape dans le processus.
|
|
|
|
**Paramètres** :
|
|
- `prompt` : Le texte affiché avant le message.
|
|
- `message` : Le message à afficher.
|
|
|
|
**Exemple** :
|
|
```bash
|
|
step "Building image" "Starting to build the Docker image"
|
|
```
|
|
|
|
### `success()`
|
|
Affiche un message de succès en vert.
|
|
|
|
**Paramètres** :
|
|
- `prompt` : Le texte affiché avant le message.
|
|
- `message` : Le message de succès à afficher.
|
|
|
|
**Exemple** :
|
|
```bash
|
|
success "Build completed" "The Docker image was successfully built"
|
|
```
|
|
|
|
### `check_command()`
|
|
Vérifie si une commande est disponible dans le système. Si ce n'est pas le cas, affiche un message d'erreur et arrête l'exécution du script.
|
|
|
|
**Paramètre** :
|
|
- `command` : Le nom de la commande à vérifier.
|
|
|
|
**Exemple** :
|
|
```bash
|
|
check_command "curl"
|
|
```
|
|
|
|
---
|
|
|
|
## 🧡 À propos
|
|
|
|
Cette action fait partie des actions de la **Petite Maison Orange**.
|
|
Toutes les actions sont disponibles ici :
|
|
👉 [https://gargoton.petite-maison-orange.fr/pmo-actions/](https://gargoton.petite-maison-orange.fr/pmo-actions/)
|