From ef6f77599ca4c80362aef1a9912e3309d9f1a181 Mon Sep 17 00:00:00 2001 From: Igor Krauch <243803173+igareck@users.noreply.github.com> Date: Mon, 29 Jun 2026 18:23:21 -0400 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B5=D1=80=D0=BA=D0=B0=D0=BB=D0=BE=20/?= =?UTF-8?q?=20Mirror=20to=20Codeberg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Создание зеркала на Codeberg.org Create a mirror on Codeberg.org Updates: 1. Updated GitHub Actions workflow to disable cancel-in-progress. 2. Added retry logic for Codeberg push. 3. Added push trigger for the main branch and removed scheduled cron job. 4. "Stale server-side Git lock" issue is fixed by Codeberg support. --- .github/workflows/mirror-to-codeberg.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mirror-to-codeberg.yml b/.github/workflows/mirror-to-codeberg.yml index 8bba05154..3ab16465c 100644 --- a/.github/workflows/mirror-to-codeberg.yml +++ b/.github/workflows/mirror-to-codeberg.yml @@ -1,9 +1,10 @@ name: Mirror to Codeberg on: + push: + branches: + - main workflow_dispatch: - schedule: - - cron: "17 * * * *" concurrency: group: mirror-to-codeberg @@ -35,6 +36,17 @@ jobs: git remote remove codeberg 2>/dev/null || true git remote add codeberg "https://igareck:${CODEBERG_TOKEN}@codeberg.org/igareck/vpn-configs-for-russia.git" + LOCAL_SHA="$(git rev-parse HEAD)" + REMOTE_SHA="$(git ls-remote codeberg refs/heads/main | awk '{print $1}' || true)" + + echo "Local GitHub main: $LOCAL_SHA" + echo "Remote Codeberg main: ${REMOTE_SHA:-unknown}" + + if [ -n "${REMOTE_SHA:-}" ] && [ "$LOCAL_SHA" = "$REMOTE_SHA" ]; then + echo "Codeberg is already up to date. Skipping push." + exit 0 + fi + for attempt in 1 2 3 4 5; do echo "Codeberg push attempt $attempt/5"