fix: release-mac.sh resolves tokens from the git credential store; fail fast (#24)

This commit was merged in pull request #24.
This commit is contained in:
2026-09-04 04:21:16 +00:00
parent 1d8dfce99a
commit 67f3532938
+14 -2
View File
@@ -45,8 +45,20 @@ get_token() {
if [ -n "$tok" ]; then echo "$tok"; return; fi if [ -n "$tok" ]; then echo "$tok"; return; fi
fi fi
fi fi
read -rsp "Gitea personal access token (repo write): " GITEA_TOKEN # Fall back to the git credential store: tea's OAuth login stores an access
echo "$GITEA_TOKEN" # token as the password for every push to this remote, and Gitea accepts it
# for API auth (Authorization: token <access_token>).
local host cred
host="${GITEA_SERVER#*://}"
cred="$(printf 'protocol=https\nhost=%s\n\n' "$host" \
| git credential fill 2>/dev/null | sed -n 's/^password=//p' | head -1 || true)"
if [ -n "$cred" ]; then echo "$cred"; return; fi
# Fail fast — continuing without a token fails only at the upload step,
# after the whole build has run.
echo "error: no Gitea token found" >&2
echo " set GITEA_TOKEN, or run 'tea login' / 'git push' once so the" >&2
echo " credential store has an entry for $host" >&2
exit 1
} }
GITEA_TOKEN="$(get_token)" GITEA_TOKEN="$(get_token)"