Audit: capture template origins from staging
This commit is contained in:
@@ -8,11 +8,59 @@ set -euo pipefail
|
||||
AUDIT_TIMEOUT_SECONDS=${AUDIT_TIMEOUT_SECONDS:-300}
|
||||
ARTIFACT_DIR=${ARTIFACT_DIR:-artifacts}
|
||||
OUT_FILE="${ARTIFACT_DIR}/multilingual-audit.json"
|
||||
DEBUG_FILE="${ARTIFACT_DIR}/template-debug.txt"
|
||||
mkdir -p "${ARTIFACT_DIR}"
|
||||
TMP_FILE=$(mktemp)
|
||||
trap 'rm -f "$TMP_FILE"' EXIT
|
||||
TMP_DEBUG=$(mktemp)
|
||||
trap 'rm -f "$TMP_FILE" "$TMP_DEBUG"' EXIT
|
||||
|
||||
REMOTE_DEBUG_CMD="cd '${STAGING_AUDIT_PROJECT_DIR}' && '${STAGING_AUDIT_MANAGE}' shell -c \"\
|
||||
from django.template.loader import get_template; \
|
||||
import os; \
|
||||
print('DJANGO_SETTINGS_MODULE=' + os.environ.get('DJANGO_SETTINGS_MODULE','')); \
|
||||
t1=get_template('carbasa/headers/header.html'); \
|
||||
t2=get_template('engine/pages/base_home_page.html'); \
|
||||
print('carbasa/headers/header.html -> ' + getattr(getattr(t1,'origin',None),'name','(no origin)')); \
|
||||
print('engine/pages/base_home_page.html -> ' + getattr(getattr(t2,'origin',None),'name','(no origin)')); \
|
||||
\""
|
||||
|
||||
REMOTE_CMD="cd '${STAGING_AUDIT_PROJECT_DIR}' && '${STAGING_AUDIT_MANAGE}' audit_locales --format=json"
|
||||
|
||||
set +e
|
||||
STAGING_AUDIT_PROJECT_NAME="$STAGING_AUDIT_PROJECT_NAME" REMOTE_CMD="$REMOTE_DEBUG_CMD" AUDIT_TIMEOUT_SECONDS="$AUDIT_TIMEOUT_SECONDS" python3 - <<'PY' > "$TMP_DEBUG"
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
cmd = [
|
||||
"sudo", "-n", "-u", "mandel", "-g", "www-data",
|
||||
"/srv/apps/mandel-dashboard/.venv/bin/python",
|
||||
"/srv/apps/mandel-dashboard/bin/deploy_stg_from_jenkins.py",
|
||||
os.environ["STAGING_AUDIT_PROJECT_NAME"],
|
||||
"--command",
|
||||
os.environ["REMOTE_CMD"],
|
||||
]
|
||||
proc = subprocess.run(
|
||||
cmd,
|
||||
check=False,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
text=True,
|
||||
timeout=int(os.environ["AUDIT_TIMEOUT_SECONDS"]),
|
||||
)
|
||||
if proc.stdout:
|
||||
sys.stdout.write(proc.stdout)
|
||||
if proc.stderr:
|
||||
sys.stdout.write("\n[stderr]\n" + proc.stderr)
|
||||
raise SystemExit(proc.returncode)
|
||||
PY
|
||||
debug_rc=$?
|
||||
set -e
|
||||
cp "$TMP_DEBUG" "$DEBUG_FILE"
|
||||
if [ "$debug_rc" -ne 0 ]; then
|
||||
echo "WARNING: template debug command failed (rc=${debug_rc})" >> "$DEBUG_FILE"
|
||||
fi
|
||||
|
||||
set +e
|
||||
STAGING_AUDIT_PROJECT_NAME="$STAGING_AUDIT_PROJECT_NAME" REMOTE_CMD="$REMOTE_CMD" AUDIT_TIMEOUT_SECONDS="$AUDIT_TIMEOUT_SECONDS" python3 - <<'PY' > "$TMP_FILE"
|
||||
import json
|
||||
|
||||
Reference in New Issue
Block a user