Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion scripts/ci/docker/linux-runner/persist/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ de fichier, **apres** la section « Voir aussi ».
### 1. La PR #15094 patche une copie qui ne tourne pas sur ai-01

`persist/coursia-runner.service` et `persist/coursia-runner-start.sh` sont ceux de
**po-2024** : depot sous `/mnt/c/dev/CoursIA`, prefixe `myia-po-2024-linux-docker`,
**po-2024** : depot sous `/mnt/d/Dev/CoursIA` (migration du 2026-09-17 ; le
defaut etait `/mnt/c/dev/CoursIA` avant, cf. #16578), prefixe
`myia-po-2024-linux-docker`,
et un wrapper qui relaie n'importe quelle sous-commande (`exec "$SUPERVISE" "$@"`).

Les fichiers vivants d'ai-01 sont differents sur les trois points qui comptent :
Expand All @@ -54,6 +56,11 @@ est le **nombre de slots**, pas une sous-commande. Un correctif porte sur la cop
a plat ne touche donc pas la machine qui a gele. C'est ce que le sous-repertoire
`ai-01/` rend desormais impossible a confondre.

**Les deux chemins ne different plus que par un segment** (`/mnt/d/Dev/CoursIA`
pour po-2024, `/mnt/d/CoursIA` pour ai-01) : les relire a la lettre avant de
conclure un drift -- une difference d'un seul composant est exactement ce que
l'oeil saute.

### 2. `systemctl start` ignore `disabled` -- une unite desactivee redemarre au boot

J'ai ecrit que la machine etait au repos parce que les deux unites etaient
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# CE QUI DISTINGUE CETTE COPIE DE persist/coursia-runner-start.sh
# ---------------------------------------------------------------
# La copie a la racine de persist/ est celle de po-2024 : depot sous
# /mnt/c/dev/CoursIA, prefixe myia-po-2024-linux-docker, et surtout un
# /mnt/d/Dev/CoursIA, prefixe myia-po-2024-linux-docker, et surtout un
# `exec "$SUPERVISE" "$@"` qui relaie n'importe quelle sous-commande. Celle-ci
# vit sur ai-01 : depot sous /mnt/d/CoursIA, prefixe myia-ai-01-wsl, et le
# premier argument est le NOMBRE DE SLOTS, pas une sous-commande.
Expand Down
10 changes: 8 additions & 2 deletions scripts/ci/docker/linux-runner/persist/coursia-lean-start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,14 @@
# jamais en argv).
set -uo pipefail

MASTER_ENV="${COURSIA_MASTER_ENV:-/mnt/c/dev/CoursIA/.secrets/master.env}"
REPO_DIR="${COURSIA_REPO_DIR:-/mnt/c/dev/CoursIA}"
# Le defaut de chemin a DEJA demenage : la migration du 2026-09-17 a deplace le
# depot `C:\dev\CoursIA` -> `D:\Dev\CoursIA`, et ce fichier pointait encore
# l'arborescence purgee. Ce n'etait pas cosmetique : `[ -r "$MASTER_ENV" ]`
# echoue AVANT la lecture du token, donc le lanceur sortait en `exit 1` et le
# pool lean restait a ZERO jusqu'a intervention -- exactement l'incident du
# 2026-09-09 que ce fichier existe pour fermer (#16578).
MASTER_ENV="${COURSIA_MASTER_ENV:-/mnt/d/Dev/CoursIA/.secrets/master.env}"
REPO_DIR="${COURSIA_REPO_DIR:-/mnt/d/Dev/CoursIA}"
ARG="${1:-2}"

[ -r "$MASTER_ENV" ] || { echo "master.env illisible : $MASTER_ENV" >&2; exit 1; }
Expand Down
14 changes: 11 additions & 3 deletions scripts/ci/docker/linux-runner/persist/coursia-runner-start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,20 @@
# Design :
# - le token admin GitHub ne vit JAMAIS dans la distro ni dans un argv :
# il est relu a CHAQUE invocation depuis master.env cote Windows
# (/mnt/c/... via sed + tr -d '\r' -- CRLF tuerait la valeur) ;
# (sous /mnt/... via sed + tr -d '\r' -- CRLF tuerait la valeur) ;
# - DOCKER_HOST epingle le socket docker-ce, pas le Docker Desktop ;
# - l'etat superviseur (sentinel, logs slots) vit sous /var/lib/coursia-runner.
set -euo pipefail

TOKEN_FILE="/mnt/c/dev/CoursIA/.secrets/master.env"
# Racine du depot. Le defaut a DEJA demenage : la migration du 2026-09-17 a
# deplace `C:\dev\CoursIA` -> `D:\Dev\CoursIA`, et ce wrapper pointait encore
# l'arborescence purgee. Consequence, mesuree (#16578) : `TOKEN_FILE` illisible
# -> `FATAL` AVANT tout demarrage de slot, donc le pool d'execution reste a ZERO
# jusqu'a intervention. Les deux surcharges sont celles de la jambe lean, pour
# que les deux lanceurs po-2024 se reglent de la meme facon.
REPO_DIR="${COURSIA_REPO_DIR:-/mnt/d/Dev/CoursIA}"

TOKEN_FILE="${COURSIA_MASTER_ENV:-$REPO_DIR/.secrets/master.env}"
TOKEN="$(sed -n 's/^GH_RUNNERS_ADMIN_TOKEN=//p' "$TOKEN_FILE" | tr -d '\r')"
if [ -z "$TOKEN" ]; then
echo "FATAL: GH_RUNNERS_ADMIN_TOKEN absent de $TOKEN_FILE" >&2
Expand All @@ -37,7 +45,7 @@ if ! docker info >/dev/null 2>&1; then
exit 1
fi

SUPERVISE="/mnt/c/dev/CoursIA/scripts/ci/docker/linux-runner/supervise.sh"
SUPERVISE="$REPO_DIR/scripts/ci/docker/linux-runner/supervise.sh"
mkdir -p "$COURSIA_RUNNER_STATE_DIR"

# --- PURGE SENTINELLE PERIMEE (#15163) -----------------------------
Expand Down
Loading