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)"
|
||||
P8_PATH="${APPSTORE_P8_PATH:-}"
|
||||
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() {
|
||||
echo "Error: $*" >&2
|
||||
@@ -54,8 +61,8 @@ find_p8_file() {
|
||||
local tmp_p8="/tmp/AuthKey_${KEY_ID}.p8"
|
||||
pass show appstore/api-key-p8 > "$tmp_p8"
|
||||
chmod 600 "$tmp_p8"
|
||||
# Registrar para limpieza al salir del script (trap en el shell principal).
|
||||
trap "rm -f '$tmp_p8'" EXIT
|
||||
# Limpieza al salir del script vía TRAPEXIT global (ver arriba por qué no un trap local).
|
||||
P8_TEMP="$tmp_p8"
|
||||
P8_PATH="$tmp_p8"
|
||||
return
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user