diff --git a/README.md b/README.md new file mode 100644 index 0000000..f8343c5 --- /dev/null +++ b/README.md @@ -0,0 +1,113 @@ +# L'action `install-container-tools` + +Cette action installe les outils de conteneurisation (Docker, Podman, Skopeo) sur le runner. + +--- + +## 🔧 Utilisation + +```yaml +- name: Install container tools + uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main + with: + tools: skopeo,podman +``` + +--- + +## 📥 Paramètres + +| Nom | Obligatoire | Par défaut | Description | +|--------|-------------|------------|----------------------------------------------------------| +| `tools`| ✅ | – | Liste d'outils séparés par des virgules (docker,podman,skopeo) | +| `debug`| ❌ | `false` | Mode débogage | + +--- + +## ▶️ Exemples + +### Installer Skopeo uniquement +```yaml +- name: Install Skopeo + uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main + with: + tools: skopeo +``` + +### Installer Podman uniquement +```yaml +- name: Install Podman + uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main + with: + tools: podman +``` + +### Installer plusieurs outils +```yaml +- name: Install multiple tools + uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main + with: + tools: docker,podman,skopeo +``` + +### Avec debug activé +```yaml +- name: Install tools with debug + uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main + with: + tools: skopeo,podman + debug: true +``` + +--- + +## ⚙️ Comportement + +- ✅ Vérifie si l'outil est déjà installé avant de l'installer +- ✅ Support de plusieurs outils en une seule action +- ✅ Installation via `apt-get` pour Podman et Skopeo +- ✅ Installation via le script officiel pour Docker +- ✅ Gestion d'erreur si un outil n'est pas supporté + +--- + +## 🔄 Migration depuis les actions existantes + +### Avant (dans push-image) +```yaml + - name: install skopeo + if: inputs.push_command == 'skopeo' + shell: bash + run: | + source "${{ github.action_path }}/../bashlib.sh" + step "Install software" "skopeo" + # ... 15 lignes de code ... + + - name: install podman + if: inputs.push_command == 'podman' + shell: bash + run: | + source "${{ github.action_path }}/../bashlib.sh" + step "Install software" "podman" + # ... 15 lignes de code ... +``` + +### Après (avec install-container-tools) +```yaml + - name: Install container tool + if: inputs.push_command == 'skopeo' || inputs.push_command == 'podman' + uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main + with: + tools: ${{ inputs.push_command }} + debug: ${{ inputs.debug }} +``` + +**Réduction** : ~30 lignes → ~5 lignes par action ! 🎉 + +--- + +## 🧡 À 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/) \ No newline at end of file