From cffa5affea930034c1563c051df091d11dbf6da0 Mon Sep 17 00:00:00 2001 From: Dmitriy Fofanov Date: Mon, 23 Feb 2026 14:21:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=84=D0=B0=D0=B9=D0=BB=20=D0=BA=D0=BE=D0=BD=D1=84?= =?UTF-8?q?=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20Wiki=20=D1=81=20=D0=BE=D1=81=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BD=D1=8B=D0=BC=20=D1=80=D0=B5=D0=BF=D0=BE=D0=B7?= =?UTF-8?q?=D0=B8=D1=82=D0=BE=D1=80=D0=B8=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/wiki-sync.yml | 61 ++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .gitea/workflows/wiki-sync.yml diff --git a/.gitea/workflows/wiki-sync.yml b/.gitea/workflows/wiki-sync.yml new file mode 100644 index 0000000..598154e --- /dev/null +++ b/.gitea/workflows/wiki-sync.yml @@ -0,0 +1,61 @@ +name: "Wiki Sync" + +on: + push: + branches: + - main + +jobs: + sync-wiki: + name: "Синхронизация Wiki" + runs-on: ubuntu-latest + + steps: + - name: "Checkout main repository" + uses: actions/checkout@v4 + + - name: "Validate wiki source folder" + run: | + if [ ! -d "wiki" ]; then + echo "Папка wiki/ не найдена — синхронизация не требуется." + exit 0 + fi + + - name: "Sync wiki folder to Gitea Wiki repository" + env: + GIT_TOKEN: ${{ secrets.GIT_TOKEN }} + run: | + if [ -z "${GIT_TOKEN}" ]; then + echo "GIT_TOKEN не задан. Добавьте секрет в Settings -> Secrets -> Actions." + echo "Пропуск синхронизации wiki без ошибки." + exit 0 + fi + + WIKI_REPO_URL="${{ github.server_url }}/${{ github.repository }}.wiki.git" + AUTH_WIKI_REPO_URL="${WIKI_REPO_URL/https:\/\//https:\/\/oauth2:${GIT_TOKEN}@}" + + echo "Клонируем: ${WIKI_REPO_URL}" + git clone --depth 1 "${AUTH_WIKI_REPO_URL}" .wiki-repo + + rsync -a --delete --exclude '.git/' wiki/ .wiki-repo/ + + cd .wiki-repo + git add -A + + if git diff --cached --quiet; then + echo "Изменений в wiki нет — пуш не требуется." + exit 0 + fi + + git config user.name "gitea-actions[bot]" + git config user.email "gitea-actions@local" + + DEFAULT_BRANCH=$(git remote show origin | sed -n '/HEAD branch/s/.*: //p') + if [ -z "${DEFAULT_BRANCH}" ]; then + DEFAULT_BRANCH="master" + fi + + git commit -m "docs(wiki): sync from main @ ${{ github.sha }}" + git push origin "HEAD:${DEFAULT_BRANCH}" + + echo "Wiki синхронизирована в ветку ${DEFAULT_BRANCH}."