From e6c1e90b87c337694037fd40e1b2d08bd8f30424 Mon Sep 17 00:00:00 2001 From: chillpad Date: Sun, 26 Jul 2026 17:32:07 +0300 Subject: [PATCH] notify: send Telegram message on new release and on workflow failure --- .github/workflows/sync-and-build.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.github/workflows/sync-and-build.yml b/.github/workflows/sync-and-build.yml index 5dfb9fc..d39e249 100644 --- a/.github/workflows/sync-and-build.yml +++ b/.github/workflows/sync-and-build.yml @@ -111,6 +111,7 @@ jobs: tar -czf ../cabinet-dist.tar.gz . - name: Publish release + id: publish if: steps.sync.outputs.changed == 'true' || github.event_name == 'workflow_dispatch' env: GH_TOKEN: ${{ github.token }} @@ -128,3 +129,30 @@ jobs: --title "$TAG" \ --notes "Синхронизировано с апстримом (v${VERSION}) + локальный патч (скрыт блок «Дополнительные опции»)." \ --latest + echo "tag=$TAG" >> "$GITHUB_OUTPUT" + + - name: Notify Telegram on new release + # TG_BOT_TOKEN/TG_CHAT_ID задаются в Settings → Secrets and variables → + # Actions, значения сюда не попадают. + if: success() && (steps.sync.outputs.changed == 'true' || github.event_name == 'workflow_dispatch') + env: + TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }} + TG_CHAT_ID: ${{ secrets.TG_CHAT_ID }} + run: | + curl -s -X POST "https://api.telegram.org/bot${TG_BOT_TOKEN}/sendMessage" \ + -d chat_id="${TG_CHAT_ID}" \ + -d text="✅ Новая сборка кабинета готова: ${{ steps.publish.outputs.tag }} — https://github.com/${GITHUB_REPOSITORY}/releases/tag/${{ steps.publish.outputs.tag }}" \ + > /dev/null + + - name: Notify Telegram on failure + # Срабатывает, если упал любой предыдущий шаг (в первую очередь — + # конфликт при merge апстрима). + if: failure() + env: + TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }} + TG_CHAT_ID: ${{ secrets.TG_CHAT_ID }} + run: | + curl -s -X POST "https://api.telegram.org/bot${TG_BOT_TOKEN}/sendMessage" \ + -d chat_id="${TG_CHAT_ID}" \ + -d text="⚠️ sync-and-build упал: ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" \ + > /dev/null