Ce dépôt centralise les workflows GitHub Actions réutilisables et les git hooks pour maintenir la cohérence et la qualité du code dans tous les dépôts de la Fabrique Numérique.
Référencez un workflow avec uses dans votre fichier de workflow :
jobs:
lint-commits:
uses: dnum-mi/fabnum-cicd/.github/workflows/lint-commits.yml@v0Tip
Consultez l'introduction pour un guide complet avec des exemples de pipelines CI, CD et Helm.
| Workflow | Description | Docs |
|---|---|---|
| lint-commits.yml | Validation des messages de commit (Conventional Commits) | docs |
| lint-helm.yml | Lint des charts Helm avec chart-testing |
docs |
| lint-helm-schema.yml | Validation des values Helm contre un JSON Schema avec check-jsonschema |
docs |
| lint-yaml.yml | Lint des fichiers YAML avec yamllint |
docs |
| Workflow | Description | Docs |
|---|---|---|
| build-docker.yml | Build et push d'images Docker multi-architecture (amd64/arm64) |
docs |
| release-app.yml | Gestion automatisée des releases avec release-please (tags, changelogs, pré-releases) |
docs |
| release-helm.yml | Publication de charts Helm sur registres OCI | docs |
| update-helm-chart.yml | Mise à jour automatique des versions de charts Helm | docs |
| Workflow | Description | Docs |
|---|---|---|
| scan-sonarqube.yml | Analyse qualité du code avec SonarQube | docs |
| scan-trivy.yml | Analyse de vulnérabilités (images, config, filesystem) avec Trivy | docs |
| Workflow | Description | Docs |
|---|---|---|
| test-helm.yml | Tests d'installation des charts dans un cluster Kind | docs |
| Workflow | Description | Docs |
|---|---|---|
| clean-cache.yml | Nettoyage du cache GitHub Actions et des images GHCR | docs |
| sync-cpin.yml | Synchronisation vers l'instance GitLab CPiN | docs |
Certains workflows nécessitent des secrets à configurer dans les Settings > Secrets du dépôt :
| Secret | Workflows | Description |
|---|---|---|
GH_PAT |
release-app, update-helm-chart | Personal Access Token GitHub (pour automerge et cross-repo) |
SONAR_TOKEN |
scan-sonarqube | Token d'authentification SonarQube |
SONAR_PROJECT_KEY |
scan-sonarqube | Clé du projet SonarQube |
GIT_MIRROR_TOKEN |
sync-cpin | Token GitLab pour la synchronisation CPiN |
Validation locale du code avant commit et push. Consultez l'introduction pour les instructions d'installation.
| Hook | Type | Description | Docs |
|---|---|---|---|
| conventional-commit | commit-msg |
Validation Conventional Commits | docs |
| eslint-lint | pre-commit |
Lint JS/TS/JSON/MD/YAML avec ESLint | docs |
| helm-lint | pre-commit |
Lint des charts Helm | docs |
| yaml-lint | pre-commit |
Lint YAML avec yamllint |
docs |
| signed-commit | pre-push |
Vérification des signatures GPG | docs |