Fix upload script: limpieza .p8 vía TRAPEXIT global (bug zsh: trap EXIT en función se dispara al retornar, borraba la key antes del archive)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LZFmGhbWzibhApev3C4554
This commit is contained in:
@@ -27,6 +27,13 @@ ISSUER_ID="$(_pass_or_env "${APPSTORE_ISSUER_ID:-}" appstore/issuer-id)"
|
|||||||
TEAM_ID="$(_pass_or_env "${DEVELOPMENT_TEAM_ID:-}" appstore/team-id)"
|
TEAM_ID="$(_pass_or_env "${DEVELOPMENT_TEAM_ID:-}" appstore/team-id)"
|
||||||
P8_PATH="${APPSTORE_P8_PATH:-}"
|
P8_PATH="${APPSTORE_P8_PATH:-}"
|
||||||
P8_DIR=""
|
P8_DIR=""
|
||||||
|
# Fichero .p8 temporal a limpiar al salir. OJO zsh: un `trap ... EXIT` puesto DENTRO
|
||||||
|
# de una función se dispara al RETORNAR la función (no al salir el script, como bash),
|
||||||
|
# lo que borraba la clave antes del archive. Por eso la limpieza va en TRAPEXIT global.
|
||||||
|
P8_TEMP=""
|
||||||
|
TRAPEXIT() {
|
||||||
|
[[ -n "$P8_TEMP" ]] && rm -f "$P8_TEMP"
|
||||||
|
}
|
||||||
|
|
||||||
fail() {
|
fail() {
|
||||||
echo "Error: $*" >&2
|
echo "Error: $*" >&2
|
||||||
@@ -54,8 +61,8 @@ find_p8_file() {
|
|||||||
local tmp_p8="/tmp/AuthKey_${KEY_ID}.p8"
|
local tmp_p8="/tmp/AuthKey_${KEY_ID}.p8"
|
||||||
pass show appstore/api-key-p8 > "$tmp_p8"
|
pass show appstore/api-key-p8 > "$tmp_p8"
|
||||||
chmod 600 "$tmp_p8"
|
chmod 600 "$tmp_p8"
|
||||||
# Registrar para limpieza al salir del script (trap en el shell principal).
|
# Limpieza al salir del script vía TRAPEXIT global (ver arriba por qué no un trap local).
|
||||||
trap "rm -f '$tmp_p8'" EXIT
|
P8_TEMP="$tmp_p8"
|
||||||
P8_PATH="$tmp_p8"
|
P8_PATH="$tmp_p8"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user