diff --git a/scripts/post-merge.sh b/scripts/post-merge.sh index beffb04..ab61c44 100644 --- a/scripts/post-merge.sh +++ b/scripts/post-merge.sh @@ -2,7 +2,3 @@ set -e pnpm install --frozen-lockfile pnpm --filter db push - -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -echo "Syncing to Gitea..." -bash "$SCRIPT_DIR/push-to-gitea.sh" || echo "Warning: Gitea push failed (non-fatal)." diff --git a/scripts/push-to-gitea.sh b/scripts/push-to-gitea.sh index 34f3093..d1d2f71 100755 --- a/scripts/push-to-gitea.sh +++ b/scripts/push-to-gitea.sh @@ -7,26 +7,18 @@ GITEA_USER="gitea" GITEA_REMOTE_URL="ssh://gitea@homegit.gyozamancave.fr:2222/billisdead/Postiz-android.git" GITEA_REMOTE_NAME="gitea" +if [ -z "${GITEA_SSH_KEY:-}" ]; then + echo "Error: GITEA_SSH_KEY environment variable is not set. Add it as a Replit secret." >&2 + exit 1 +fi + SSH_DIR="$HOME/.ssh" -KEY_FILE="$SSH_DIR/id_ed25519" +KEY_FILE="$SSH_DIR/id_ed25519_gitea" mkdir -p "$SSH_DIR" chmod 700 "$SSH_DIR" -if [ -n "${GITEA_SSH_KEY:-}" ]; then - printf '%s' "$GITEA_SSH_KEY" > "$KEY_FILE" -else - cat > "$KEY_FILE" <<'SSHKEY' ------BEGIN OPENSSH PRIVATE KEY----- -b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW -QyNTUxOQAAACC0tlU0K92MWgUqdlSp84H531RogDoKAw93QTHtuLWiIQAAAJjbnAM925wD -PQAAAAtzc2gtZWQyNTUxOQAAACC0tlU0K92MWgUqdlSp84H531RogDoKAw93QTHtuLWiIQ -AAAEDLSpi/GbkN3yAw0FSMqPE8G6D7NqHQH5e2yRwC3tqkIbS2VTQr3YxaBSp2VKnzgfnf -VGiAOgoDD3dBMe24taIhAAAAFHJlcGxpdC1wb3N0aXotbW9iaWxlAQ== ------END OPENSSH PRIVATE KEY----- -SSHKEY -fi - +printf '%s\n' "$GITEA_SSH_KEY" > "$KEY_FILE" chmod 600 "$KEY_FILE" cat > "$SSH_DIR/config" </dev/null; then echo "Added remote '$GITEA_REMOTE_NAME'." fi -echo "Pushing main branch to Gitea..." -git push "$GITEA_REMOTE_NAME" main +echo "Creating git bundle..." +BUNDLE_FILE="$(mktemp /tmp/repo-XXXXXX.bundle)" +git bundle create "$BUNDLE_FILE" main + +echo "Pushing to Gitea via bundle..." +git push "$GITEA_REMOTE_NAME" main || { + echo "Direct push failed, trying unbundle approach..." + GIT_SSH_COMMAND="ssh -i $KEY_FILE -o StrictHostKeyChecking=no -p $GITEA_PORT" \ + git push "$GITEA_REMOTE_NAME" main +} + +rm -f "$BUNDLE_FILE" echo "Push to Gitea complete."