GitHub Actions
Vue d’ensemble
Le projet utilise GitHub Actions pour automatiser :
-
La validation du code (CI)
-
La construction des images Docker
-
La publication sur GHCR
-
La gestion des releases
-
La génération de la documentation
Workflows disponibles
CI (Continuous Integration)
Fichier : .github/workflows/ci.yml
Déclencheurs :
-
Push sur
mainetdevelop -
Pull requests
Jobs :
-
validate : Validation de la syntaxe PHP
-
docker-build : Construction et publication de l’image Docker
name: CI
on:
push:
branches: [main, develop]
pull_request:
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate PHP syntax
run: find src -name "*.php" -exec php -l {} \;
docker-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: docker/build-push-action@v5
with:
push: ${{ github.event_name != 'pull_request' }}
Release Please
Fichier : .github/workflows/release-please.yml
Déclencheurs :
-
Push sur
main
Fonctionnement :
-
Analyse les commits depuis la dernière release
-
Crée une PR de release avec le CHANGELOG mis à jour
-
Quand la PR est mergée, crée un tag et une release GitHub
Voir Release Please pour plus de détails.
Configuration des secrets
Aucun secret n’est nécessaire ! Le projet utilise :
-
GITHUB_TOKEN: Fourni automatiquement par GitHub Actions -
Permissions configurées dans chaque workflow
Permissions
Les workflows utilisent les permissions suivantes :
| Permission | Usage |
|---|---|
|
Créer des releases et pousser des commits |
|
Publier sur GHCR |
|
Créer des PRs (Release Please) |
|
Déployer sur GitHub Pages |
|
Authentification GitHub Pages |
Cache
Le workflow Docker utilise le cache GitHub Actions pour accélérer les builds :
- uses: docker/build-push-action@v5
with:
cache-from: type=gha
cache-to: type=gha,mode=max
Monitoring
Voir les exécutions
-
Aller sur https://github.com/constructions-incongrues/musiqueapproximative/actions
-
Sélectionner un workflow
-
Voir l’historique des exécutions