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}
|
AUDIT_TIMEOUT_SECONDS=${AUDIT_TIMEOUT_SECONDS:-300}
|
||||||
ARTIFACT_DIR=${ARTIFACT_DIR:-artifacts}
|
ARTIFACT_DIR=${ARTIFACT_DIR:-artifacts}
|
||||||
OUT_FILE="${ARTIFACT_DIR}/multilingual-audit.json"
|
OUT_FILE="${ARTIFACT_DIR}/multilingual-audit.json"
|
||||||
|
DEBUG_FILE="${ARTIFACT_DIR}/template-debug.txt"
|
||||||
mkdir -p "${ARTIFACT_DIR}"
|
mkdir -p "${ARTIFACT_DIR}"
|
||||||
TMP_FILE=$(mktemp)
|
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"
|
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
|
set +e
|
||||||
STAGING_AUDIT_PROJECT_NAME="$STAGING_AUDIT_PROJECT_NAME" REMOTE_CMD="$REMOTE_CMD" AUDIT_TIMEOUT_SECONDS="$AUDIT_TIMEOUT_SECONDS" python3 - <<'PY' > "$TMP_FILE"
|
STAGING_AUDIT_PROJECT_NAME="$STAGING_AUDIT_PROJECT_NAME" REMOTE_CMD="$REMOTE_CMD" AUDIT_TIMEOUT_SECONDS="$AUDIT_TIMEOUT_SECONDS" python3 - <<'PY' > "$TMP_FILE"
|
||||||
import json
|
import json
|
||||||
|
|||||||
Reference in New Issue
Block a user