ci: gate Telegram auto-notify behind repo variable (default off)

The `telegram:` job now runs only when the repo-level variable
`TELEGRAM_NOTIFY_ENABLED` is set to the literal string \"true\".
Default (unset) = job skips silently.

Turn on:   gh variable set TELEGRAM_NOTIFY_ENABLED --body true
Turn off:  gh variable set TELEGRAM_NOTIFY_ENABLED --body false
           (or `gh variable delete TELEGRAM_NOTIFY_ENABLED`)

The Python script, secrets, and changelog format all stay in place
so re-enabling is a one-liner, not a workflow edit. Forks that don't
need Telegram don't have to touch anything — they get the clean
no-notify behaviour out of the box.
This commit is contained in:
therealaleph
2026-04-23 10:52:44 +03:00
parent a7b63ee53a
commit 54b3956e23
+10 -6
View File
@@ -371,12 +371,16 @@ jobs:
telegram: telegram:
needs: [android, release] needs: [android, release]
runs-on: ubuntu-latest runs-on: ubuntu-latest
# `vars.TELEGRAM_NOTIFY_ENABLED` defaults to empty in forks; set # Gated on the repo variable `TELEGRAM_NOTIFY_ENABLED`. Default is
# `TELEGRAM_NOTIFY_ENABLED=1` as a repo variable to enable. In # OFF — the job skips silently unless the variable is set to the
# the therealaleph origin we leave it on permanently via this # literal string "true". Toggle via:
# env fallback — the `|| ...` expression makes it default-on #
# when the secret is present. # gh variable set TELEGRAM_NOTIFY_ENABLED --body true
if: ${{ always() && needs.android.result == 'success' }} # gh variable set TELEGRAM_NOTIFY_ENABLED --body false
#
# Keeping the machinery (script + secrets) in place so flipping
# the switch back on is a one-liner, not a workflow edit.
if: ${{ vars.TELEGRAM_NOTIFY_ENABLED == 'true' && needs.android.result == 'success' }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4