ci: run DB integration tests against an ephemeral MariaDB service #21
No reviewers
Labels
No labels
auto-merge
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: AcadeNice/corentin_wakdo#21
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "ci/run-db-integration-tests"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Probleme (finding HIGH de l'audit du 2026-06-16)
Le job
static-testslancaitphpunitsans base niWAKDO_DB_TESTS=1: les 7 teststests/Integration/*DbTests'auto-skippaient (13 skips), et le SQL porteur de securite n'etait valide par aucun test en CI :AND r.is_active = 1;audit_logecrit dans la meme transaction que l'effet ;Le double
FakeDatabasen'execute pas le SQL -> une regression dans ces requetes passait la CI au vert. Le "188 verts / chemins critiques couverts" etait trompeur (Skipped: 13masque par le compte global).Correctif
static-tests.php-mysql(pilote pdo_mysql, absent jusqu'ici) +mariadb-client, attend la base, appliquedb/migrations/*.sqlpuisdb/seeds/*.sql, lancephpunitavecWAKDO_DB_TESTS=1+DB_*.--fail-on-skipped: un skip silencieux d'un*DbTestfait desormais echouer la CI (fin du faux vert).Validation locale (avant push)
Recette rejouee sur une MariaDB 11.4 vierge : migrations + seeds appliques proprement (22 tables, 5 roles, 53 produits), puis :
(vs 188 / 448 / 13 skip sans base.)
Le support
services:du runner Forgejo est valide par le run de CI de cette PR elle-meme. Identifiants MariaDB : ephemeres, CI uniquement. Pas de labelauto-merge: relecture manuelle.