fix(tableau) : construire.sh donne au conteneur ses deux gabarits et python3 #1823
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/reglages-banc-conteneur"
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?
Le symptôme
_tableau/construire.sh --rustsortait :avec
attendu 200, obtenu « 500 Internal Server Error ». Or le même dépôt passe ces bancs sur le PC :cargo test -p service --test reglages→ 8/8.Ce n'était ni le conteneur en général, ni les permissions, ni un banc instable. Deux choses manquaient dedans, et la seconde était cachée par la première (le journal ne garde que les 20 dernières lignes de
cargo test).Cause 1 — deux gabarits lus à côté de la crate
construire.shne copie dans/b/srcque_tableau/rust:Deux bancs lisent leur gabarit à côté de leur crate :
service/tests/reglages.rsCARGO_MANIFEST_DIR/../../reglages.html_tableau/reglages.htmlservice/tests/session.rsCARGO_MANIFEST_DIR/../../connexion.html_tableau/connexion.htmlDans le conteneur,
/b/src/service/../../reglages.htmln'existe pas → « gabarit illisible » → 500. Sur le PC, le fichier est là → 200.Le script copie déjà
CHARTE-UI.mdettableau-bord.pypour exactement cette raison (« lu par les bancs », « lu par cadre.test.js ») : ces deux gabarits-là avaient été oubliés.Cause 2 —
python3absent, et impossible à installer dans le conteneur de compilationUne fois les
reglagesverts, quatre bancs desessionapparaissent en échec :Ce banc prend Python pour référence — il compare la signature du jeton et l'empreinte du mot de passe à ce que calcule le Python du dépôt, « pour ne pas l'inventer ». L'image
rust:1-alpinene l'a pas.Et
apk addne peut pas se faire là où la compilation tourne :jetable()lance le conteneur avec--user $(stat -c %u:%g "$BUILD")(l'uid du dossier, pas root) — l'installation échouait sans rien dire.Le correctif
cpdansconstruire.sh, à côté de ceux qui existent, avec le commentaire qui dit pourquoi ;studio-rust-python:1-alpine(FROM rust:1-alpine+RUN apk add --no-cache python3), construite une seule fois parconstruire.shsi elle manque, et utilisée pourcargo test/cargo build.Et la note d'exploitation de
_tableau/LXC-132.md— qui disait « défaut d'environnement du conteneur, étranger à ce correctif » — est corrigée : c'étaient deux fichiers non copiés et un outil absent.Vérification
_tableau/construire.sh --rustrelancé : cargo test : vert (conteneur exécuté dans le LXC 130, comme en production).