Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

2 watching

Forks

Repository files navigation

Fabrique Numérique - CI/CD

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.

Utilisation rapide

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@v0
    permissions:
      contents: read

Tip

Consultez l'introduction pour un guide complet avec des exemples de pipelines CI, CD et Helm.

Workflows

Linting & Validation

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

Tests

Workflow Description Docs
test-helm.yml Tests d'installation des charts dans un cluster Kind docs
test-docker.yml Exécution d'une commande dans une image Docker (registre ou tarball) docs

Build

Workflow Description Docs
build-docker.yml Build et push (optionnel) d'images Docker multi-architecture (amd64/arm64) docs
attest-docker.yml Génération d'attestations de sécurité (provenance SLSA, SBOM, signature cosign) docs

Sécurité & Qualité

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
scan-gitleaks.yml Analyse de l'historique git complet à la recherche de secrets divulgués docs

Release

Workflow Description Docs
release-app.yml Gestion automatisée des releases avec release-please (tags, changelogs, pré-releases) docs
release-helm.yml Publication de charts Helm via chart-releaser sur registre OCI et/ou dépôt Helm classique (dépôt de charts dédié) docs
release-helm-local.yml Publication d'un chart Helm hébergé dans un monorepo applicatif, sans chart-releaser docs
update-helm-chart.yml Mise à jour de la version d'un chart Helm hébergé dans le dépôt appelant docs
dispatch-helm-chart.yml Déclenchement de la mise à jour d'un chart Helm hébergé dans un dépôt séparé docs
release-npm.yml Publication de paquets sur un registre NPM (npmjs.org, GitHub Packages, registre privé) docs
attest-helm.yml Signatures cosign et provenance SLSA des charts Helm publiés sur un registre OCI docs
sync-prerelease-branch.yml Resynchronisation de la branche de pré-release sur la branche de release après une release (job à placer en dernier) docs

Utilitaires

Workflow Description Docs
clean-cache.yml Nettoyage du cache GitHub Actions docs
clean-images.yml Nettoyage des images de conteneurs sur GHCR docs
sync-cpin.yml Synchronisation vers l'instance GitLab CPiN docs

Secrets requis

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, dispatch-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

Git Hooks

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

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages