# Verification automatique du depot, a chaque poussee. # # POURQUOI CE FICHIER EXISTE (2026-08-20). Le depot portait 38 preuves rejouables, des # tests unitaires et un lint — et RIEN ne les executait sans qu'un humain tape `make`. # Le meilleur atout du projet ne se declenchait que par memoire. Un harnais qu'on peut # oublier de lancer ne garde rien. # # CE QUE CETTE CI VERIFIE : que le depot PUBLIC, seul, se tient. Elle monte le modele # public `exemples/modeles/socle` comme instance jetable, l'applique, puis rejoue lint, # tests, syntaxe et les 38 preuves (`make ci`). C'est exactement ce qu'obtient un inconnu # qui clone le depot — et c'est pour ca que ca vaut la peine : jusqu'au 2026-08-19, ce # chemin-la ne passait pas. # # CE QU'ELLE NE PEUT PAS VERIFIER, et il faut le savoir : # - la flotte reelle. Aucune VM n'est jointe, aucun deploiement n'est fait ; # - la voute. Aucun secret n'entre ici ; les preuves qui exigent une voute reelle # travaillent sur le modele, qui n'en a pas ; # - l'instance de production. Elle vit dans un depot prive, absent d'ici. # Le vert de cette CI dit « le moteur et son modele public se tiennent », pas « la flotte # va bien ». Cette derniere question, c'est `make prouver` sur le poste de l'exploitant. # # DEUX CHOSES A AJUSTER AU PREMIER PASSAGE : # - `runs-on` doit correspondre a une etiquette d'un runner Forgejo enregistre ; # - le runner a besoin d'un acces reseau pour pip et ansible-galaxy. name: verifier # « on » entre guillemets : YAML lit `on:` nu comme le booleen vrai, et le lint du depot # le refuse (yaml[truthy]). Le harnais a attrape son propre fichier de CI avant qu'il ne # tourne une seule fois. "on": push: pull_request: workflow_dispatch: jobs: verifier: runs-on: ubuntu-latest steps: - name: Recuperer le depot uses: actions/checkout@v4 - name: Outils et collections, puis `make ci` run: | set -e python3 -m venv /tmp/venv . /tmp/venv/bin/activate pip install --quiet --upgrade pip pip install --quiet 'ansible-core>=2.18,<2.19' ansible-lint pyyaml ansible-galaxy collection install -r requirements.yml make ci