fix(deploy): rm -f .env.docker avant write + tr -d '"' nuclear
All checks were successful
CI / Lint, Unit Tests & Build (push) Successful in 5m44s
CI / Deploy production (on server) (push) Successful in 23s

Le fichier accumulait des entrees quotees des anciens deploys.
Le sed regex ne matchait pas (CRLF ou format inattendu).

Fix root cause:
- ci.yaml + deploy.yaml: rm -f avant touch (fichier clean a chaque deploy)
- deploy-prod.sh: tr -d '"' supprime TOUT guillemet du fichier (nuclear, infaillible)
This commit is contained in:
Antigravity
2026-06-28 12:57:06 +00:00
parent ac66d672d6
commit 19d446f78e
3 changed files with 4 additions and 4 deletions

View File

@@ -177,6 +177,7 @@ jobs:
MCP_API_KEY: ${{ secrets.MCP_API_KEY }}
run: |
ENV_FILE="/opt/memento/.env.docker"
rm -f "$ENV_FILE"
touch "$ENV_FILE"
upsert() {
local key="$1" val="$2"

View File

@@ -66,6 +66,7 @@ jobs:
MCP_API_KEY: ${{ secrets.MCP_API_KEY }}
run: |
ENV_FILE="/opt/memento/.env.docker"
rm -f "$ENV_FILE"
touch "$ENV_FILE"
upsert() {
local key="$1" val="$2"

View File

@@ -127,11 +127,9 @@ HEALTH_CHECK_SLEEP_SECONDS=5
cd "$ROOT"
# Sanitize .env.docker: strip CRLF + quotes (Docker Compose v2 rejects VAR="val")
# Sanitize .env.docker: Docker Compose v2 rejects ANY quote character
if [ -f "$ROOT/.env.docker" ]; then
sed -i 's/\r$//' "$ROOT/.env.docker"
sed -i -E 's/^([A-Za-z_][A-Za-z0-9_]*)="(.*)"$/\1=\2/' "$ROOT/.env.docker"
sed -i -E "s/^([A-Za-z_][A-Za-z0-9_]*)='(.*)'$/\1=\2/" "$ROOT/.env.docker"
tr -d '"' < "$ROOT/.env.docker" > "$ROOT/.env.docker.tmp" && mv "$ROOT/.env.docker.tmp" "$ROOT/.env.docker"
fi
load_env_docker