Les jobs de contrôle regardent ce qu'ils disent regarder (chasse 53) #8

Merged
nicolas-fryder merged 7 commits from nicolas-fryder/dev into main 2026-10-15 22:56:39 +00:00 AGit

Un pas en continue-on-error qui télécharge un artefact (check-duree) ne
rend aucun contrôle vert : celui qui en dépend se déclare non exécutable.
Tout autre pas, et tout job hors actionlint, reste refusé. Prouvé rouge
sur un job et sur un pas ordinaire.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

Un pas en continue-on-error qui télécharge un artefact (check-duree) ne rend aucun contrôle vert : celui qui en dépend se déclare non exécutable. Tout autre pas, et tout job hors actionlint, reste refusé. Prouvé rouge sur un job et sur un pas ordinaire. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
TEMPORAIRE : sonde d'un secret non déclaré sous workflow_call
Some checks failed
audit.yml / TEMPORAIRE : sonde d'un secret non déclaré sous workflow_call (push) Failing after 0s
check.yml / TEMPORAIRE : sonde d'un secret non déclaré sous workflow_call (push) Failing after 0s
contract.yml / TEMPORAIRE : sonde d'un secret non déclaré sous workflow_call (push) Failing after 0s
e2e.yml / TEMPORAIRE : sonde d'un secret non déclaré sous workflow_call (push) Failing after 0s
integration.yml / TEMPORAIRE : sonde d'un secret non déclaré sous workflow_call (push) Failing after 0s
mutation.yml / TEMPORAIRE : sonde d'un secret non déclaré sous workflow_call (push) Failing after 0s
b682d7e8ad
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(security, check): trois contrôles qui ne contrôlaient pas
Some checks failed
audit.yml / fix(security, check): trois contrôles qui ne contrôlaient pas (push) Failing after 0s
check.yml / fix(security, check): trois contrôles qui ne contrôlaient pas (push) Failing after 0s
contract.yml / fix(security, check): trois contrôles qui ne contrôlaient pas (push) Failing after 0s
e2e.yml / fix(security, check): trois contrôles qui ne contrôlaient pas (push) Failing after 0s
integration.yml / fix(security, check): trois contrôles qui ne contrôlaient pas (push) Failing after 0s
mutation.yml / fix(security, check): trois contrôles qui ne contrôlaient pas (push) Failing after 0s
fce3ec56ea
- security : la version de gitleaks se comparait à node_modules, que ce
  job n'installe pas — « absent » à chaque exécution, la comparaison
  n'avait jamais eu lieu. Lue désormais dans le @eqs/tooling que le
  lockfile épingle, tiré du registre public.
- security : la clé du cache Trivy n'avait pas de date ; écrite le
  premier jour, jamais remplacée. Clé à la journée.
- check : le pas doctor rejouait la tâche doctor d'eqs check (63 s sur
  ATLAS) ; l'entrée node-version était déclarée et jamais lue.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(contract): sur un échec du fuzzing, le journal du serveur est montré et archivé
Some checks failed
audit.yml / fix(contract): sur un échec du fuzzing, le journal du serveur est montré et archivé (push) Failing after 0s
check.yml / fix(contract): sur un échec du fuzzing, le journal du serveur est montré et archivé (push) Failing after 0s
contract.yml / fix(contract): sur un échec du fuzzing, le journal du serveur est montré et archivé (push) Failing after 0s
e2e.yml / fix(contract): sur un échec du fuzzing, le journal du serveur est montré et archivé (push) Failing after 0s
integration.yml / fix(contract): sur un échec du fuzzing, le journal du serveur est montré et archivé (push) Failing after 0s
mutation.yml / fix(contract): sur un échec du fuzzing, le journal du serveur est montré et archivé (push) Failing after 0s
f1da7c6132
Schemathesis dit quelle requête a rendu un 500 ; la trace qui dit
pourquoi était dans /tmp/app.log, que personne ne voyait.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Forgejo 15 refuse la clé `secrets` sous workflow_call en lisant ce dépôt
(« only supports keys inputs and outputs ») : six exécutions en échec à
chaque push ici. Sondé sur eqs-demo : sans déclaration, un secret mappé
ou hérité arrive quand même. Les déclarations deviennent des commentaires.

T12 refuse désormais, dans un appelable, une déclaration de secrets et
toute lecture de github.event_name (qui y vaut workflow_call : chasse 52).
Prouvé rouge sur les deux.

Retire la sonde temporaire.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- check : budget-seconds vaut 0 par défaut (le budget du dépôt). Le
  défaut 60 était ajouté après le --budget=100 d'ATLAS.
- check, audit : fetch-depth 0. cli.baseline-presente date les sources
  par git log ; un clone superficiel n'a que HEAD, et un commit vide de
  relance passait pour une modification du code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Lu dans les neuf journaux du run 27 d'ATLAS, un sous-agent par job.

- security : semgrep reçoit un .semgrepignore ANCRÉ quand le dépôt n'en a
  pas (la route de production admin/layers/[id]/test d'ATLAS n'était
  jamais lue) ; trivy sans `license` (il n'avait rien lu), cache de la
  base seule, sans vérification de version ; actionlint avec shellcheck,
  un ignore qui correspond au vrai message, les fichiers lus affichés.
- contract : la santé exige un 200 (le 307 vers /login passait) ;
  --check compare le fichier que schemathesis lit ; construire-contrat
  pour sauter un build inutile quand l'export lit les sources.
- audit, integration : téléchargent la durée de la porte (check-duree),
  que personne ne lisait ; pipefail sur le delta.
- integration, contract, e2e : pg_isready par TCP (le serveur d'init de
  l'image répondait sur le socket Unix).
- le jeton du registre se teste dans le script : `secrets` n'est pas
  permis dans le if: d'un pas.
- NEXT_TELEMETRY_DISABLED dans les appelables qui construisent Next.

Éprouvé en local dans node:22-bookworm : semgrep lit 705 fichiers d'ATLAS
dont la route ; actionlint et shellcheck verts sur ATLAS et ici.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(verify): T9 distingue un job vert par construction d'un téléchargement facultatif
All checks were successful
verify / portes (pull_request) Successful in 5s
746093cf4a
Un pas en continue-on-error qui télécharge un artefact (check-duree) ne
rend aucun contrôle vert : celui qui en dépend se déclare non exécutable.
Tout autre pas, et tout job hors actionlint, reste refusé. Prouvé rouge
sur un job et sur un pas ordinaire.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Infrastructure/eqs-workflows!8
No description provided.