# Le fichier kx712.yml

Source : https://webgune.cloud/fr-fr/docs/kx712-yml · Mis à jour le 2026-10-27

# Le fichier kx712.yml

`kx712.yml`, placé **à la racine du dépôt**, pilote le comportement CI de vos déploiements : filtres de déclenchement et checks exécutés avant chaque mise en ligne. Il est entièrement optionnel.

## Exemple complet

```yaml
on:
  push:
    branches: [main]        # ne réagir qu'aux push sur main
    paths: [backend/**]     # ignorer si aucun fichier ne matche

checks:                     # exécutés AVANT le déploiement
  - name: Tests
    run: npm test
  - name: Lint
    run: npm run lint
    image: node:22-alpine   # image optionnelle (défaut node:22-alpine)
```

> La syntaxe s'inspire de GitHub Actions mais n'est **pas compatible** : seuls les champs documentés ici existent.

## `on.push` : filtrer les déclenchements

| Champ | Effet |
|-------|-------|
| `branches` | Liste de branches : un push ailleurs est ignoré |
| `paths` | Motifs de fichiers (`backend/**`, `*.md`…) : si aucun fichier modifié ne matche, pas de build |

Ces filtres ne s'appliquent **qu'aux webhooks** (push GitHub). Un déploiement manuel depuis le dashboard les ignore toujours.

## `checks` : bloquer un mauvais déploiement

Chaque check est une commande exécutée dans le contexte du build, dans l'ordre. **Le premier échec arrête tout : rien n'est déployé**, la version en ligne reste intacte.

| Champ | Rôle |
|-------|------|
| `name` | Libellé affiché dans les logs de build |
| `run` | La commande à exécuter |
| `image` | Image conteneur du check (défaut `node:22-alpine`) |

Jusqu'à **10 checks** par fichier. La sortie de chaque check apparaît dans les logs du déploiement.

```yaml
checks:
  - name: Tests Python
    run: pytest
    image: python:3.12-alpine
```

## Bon à savoir

- **Fichier absent ou invalide → ignoré** : le déploiement se fait normalement, sans checks (l'erreur de parsing est visible côté plateforme). Validez votre YAML après modification.
- Le fichier est lu **au commit déployé** : changer les checks dans un commit s'applique dès ce même commit.
- Pour des tests lourds ou des matrices multi-versions, gardez votre CI habituelle (GitHub Actions) en parallèle. `kx712.yml` est le **dernier filet** avant la mise en ligne, pas une CI générale.
