notify: send Telegram message on new release and on workflow failure

This commit is contained in:
chillpad
2026-07-26 17:32:07 +03:00
parent a6795e63ec
commit e6c1e90b87

View File

@@ -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