fix(ci): use basic auth header for gitea git operations
This commit is contained in:
parent
017c550b96
commit
6a22b107ba
1 changed files with 15 additions and 6 deletions
21
.github/workflows/sync-to-gitea.yml
vendored
21
.github/workflows/sync-to-gitea.yml
vendored
|
|
@ -72,11 +72,14 @@ jobs:
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
TARGET_REMOTE_URL="https://${GITEA_HOST}/${TARGET_FULL_NAME}.git"
|
||||||
|
|
||||||
for auth_user in "$TOKEN_OWNER_USER" "$GITEA_USERNAME" "oauth2"; do
|
for auth_user in "$TOKEN_OWNER_USER" "$GITEA_USERNAME" "oauth2"; do
|
||||||
[ -n "$auth_user" ] || continue
|
[ -n "$auth_user" ] || continue
|
||||||
auth_url="https://${auth_user}:${GITEA_TOKEN}@${GITEA_HOST}/${TARGET_FULL_NAME}.git"
|
AUTH_B64="$(printf '%s' "${auth_user}:${GITEA_TOKEN}" | base64 | tr -d '\n')"
|
||||||
if git ls-remote "$auth_url" >/dev/null 2>&1; then
|
if git -c http.extraHeader="Authorization: Basic ${AUTH_B64}" ls-remote "$TARGET_REMOTE_URL" >/dev/null 2>&1; then
|
||||||
TARGET_URL="$auth_url"
|
TARGET_URL="$TARGET_REMOTE_URL"
|
||||||
|
TARGET_HTTP_AUTH_HEADER="Authorization: Basic ${AUTH_B64}"
|
||||||
echo "Using Gitea credential mode for ${TARGET_FULL_NAME} as ${auth_user}"
|
echo "Using Gitea credential mode for ${TARGET_FULL_NAME} as ${auth_user}"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
|
@ -88,7 +91,8 @@ jobs:
|
||||||
"https://${GITEA_TOKEN}@${GITEA_HOST}/${TARGET_FULL_NAME}.git" \
|
"https://${GITEA_TOKEN}@${GITEA_HOST}/${TARGET_FULL_NAME}.git" \
|
||||||
"https://oauth2:${GITEA_TOKEN}@${GITEA_HOST}/${TARGET_FULL_NAME}.git"; do
|
"https://oauth2:${GITEA_TOKEN}@${GITEA_HOST}/${TARGET_FULL_NAME}.git"; do
|
||||||
if git ls-remote "$auth_url" >/dev/null 2>&1; then
|
if git ls-remote "$auth_url" >/dev/null 2>&1; then
|
||||||
TARGET_URL="$auth_url"
|
TARGET_URL="$TARGET_REMOTE_URL"
|
||||||
|
TARGET_HTTP_AUTH_HEADER=""
|
||||||
echo "Using Gitea credential mode for ${TARGET_FULL_NAME}"
|
echo "Using Gitea credential mode for ${TARGET_FULL_NAME}"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
|
@ -102,7 +106,12 @@ jobs:
|
||||||
|
|
||||||
git remote add gitea "$TARGET_URL"
|
git remote add gitea "$TARGET_URL"
|
||||||
|
|
||||||
git fetch gitea "$BRANCH_NAME" || true
|
if [ -n "${TARGET_HTTP_AUTH_HEADER:-}" ]; then
|
||||||
git push gitea "HEAD:${BRANCH_NAME}" --force-with-lease=refs/heads/"$BRANCH_NAME"
|
git -c http.extraHeader="$TARGET_HTTP_AUTH_HEADER" fetch gitea "$BRANCH_NAME" || true
|
||||||
|
git -c http.extraHeader="$TARGET_HTTP_AUTH_HEADER" push gitea "HEAD:${BRANCH_NAME}" --force-with-lease=refs/heads/"$BRANCH_NAME"
|
||||||
|
else
|
||||||
|
git fetch gitea "$BRANCH_NAME" || true
|
||||||
|
git push gitea "HEAD:${BRANCH_NAME}" --force-with-lease=refs/heads/"$BRANCH_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Sync complete!"
|
echo "Sync complete!"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue