diff --git a/.github/workflows/sync-to-gitea.yml b/.github/workflows/sync-to-gitea.yml index 05d74d7..03455d6 100644 --- a/.github/workflows/sync-to-gitea.yml +++ b/.github/workflows/sync-to-gitea.yml @@ -20,12 +20,38 @@ jobs: env: GITEA_USERNAME: Admin GITEA_TOKEN: ${{ secrets.GITEA_SECRET }} + GITEA_HOST: ci.nxtgauge.com + GITEA_OWNER: ${{ vars.GITEA_OWNER }} run: | set -euo pipefail echo "Syncing ${{ github.event.repository.name }}:main → Gitea main" echo "Commit: $(git rev-parse HEAD)" - git remote add gitea "https://${GITEA_USERNAME}:${GITEA_TOKEN}@ci.nxtgauge.com/Admin/${{ github.event.repository.name }}.git" + if [ -z "${GITEA_TOKEN:-}" ]; then + echo "Missing GITEA_SECRET" + exit 1 + fi + + REPO_NAME="${{ github.event.repository.name }}" + CANDIDATE_OWNERS="${GITEA_OWNER:-} Admin ${{ github.repository_owner }}" + TARGET_URL="" + + for owner in $CANDIDATE_OWNERS; do + [ -n "$owner" ] || continue + candidate_url="https://${GITEA_USERNAME}:${GITEA_TOKEN}@${GITEA_HOST}/${owner}/${REPO_NAME}.git" + if git ls-remote "$candidate_url" >/dev/null 2>&1; then + TARGET_URL="$candidate_url" + echo "Using Gitea target owner: $owner" + break + fi + done + + if [ -z "$TARGET_URL" ]; then + echo "Could not access target repo on Gitea for owners: $CANDIDATE_OWNERS" + exit 1 + fi + + git remote add gitea "$TARGET_URL" git fetch gitea main || true git push gitea HEAD:main --force-with-lease=refs/heads/main