feat: Add notify-telegram composite action #3

Merged
ahmad merged 1 commit from feat-notify-telegram into main 2026-08-12 13:49:22 +00:00
Owner

Issue

Closes #2

Problem

Telegram notification logic is copied and drifted across three repositories (two composite actions with different input names, plus inline curl), against the org rule that it lives in one reusable action. This repository is its designated home but held only a README.

Solution

Adds the notify-telegram composite action — the portfolio implementation, unchanged in behavior — and documents its inputs and pinned-tag consumption in the README. After merge, an annotated v1 tag marks the first consumable release.

Review notes

The action never fails a caller: empty config skips, delivery errors warn and exit zero, and the Telegram response body is never printed because it can echo the token. Values are passed via env, never expression-interpolated.

Risks and trade-offs

Existing repositories keep their local copies until they migrate (out of scope here), so drift persists a little longer; the launchpad pipeline consumes this action first.

### Issue Closes #2 ### Problem Telegram notification logic is copied and drifted across three repositories (two composite actions with different input names, plus inline curl), against the org rule that it lives in one reusable action. This repository is its designated home but held only a README. ### Solution Adds the notify-telegram composite action — the portfolio implementation, unchanged in behavior — and documents its inputs and pinned-tag consumption in the README. After merge, an annotated v1 tag marks the first consumable release. ### Review notes The action never fails a caller: empty config skips, delivery errors warn and exit zero, and the Telegram response body is never printed because it can echo the token. Values are passed via env, never expression-interpolated. ### Risks and trade-offs Existing repositories keep their local copies until they migrate (out of scope here), so drift persists a little longer; the launchpad pipeline consumes this action first.
Lifted from the portfolio pipeline, the most hardened of the three
existing copies: values pass through the environment so a quote can
never break out of the shell and leak the token, empty configuration
is a clean skip, delivery failures log a warning without printing the
response body, and the step always exits zero so a Telegram outage
cannot fail a build. Consumers pin a tag, never main.
ahmad merged commit 2227b62eef into main 2026-08-12 13:49:22 +00:00
ahmad deleted branch feat-notify-telegram 2026-08-12 13:49:22 +00:00
Sign in to join this conversation.
No description provided.