Add reusable notify-telegram composite action #2

Closed
opened 2026-08-12 12:48:55 +00:00 by ahmad · 0 comments
Owner

Context

Telegram CI notifications exist as three divergent copies across app repositories (two composite actions with different directory and input names, plus inline curl), violating the org rule that notification logic lives in one reusable action. This repository's README already names it as the home for shared actions; nothing is implemented yet. The launchpad release pipeline needs the action now.

Scope

  • In: a reusable notify-telegram composite action; documentation of its inputs and consumption; a versioning tag consumers can pin.
  • Out: migrating existing repositories to it; other shared actions.

Acceptance criteria

  • Given a workflow in another repository on this Forgejo instance, when it references the action with a pinned tag, then a Telegram message is sent with status icon, title, repository, branch, commit, actor, optional details, and link.
  • Given the bot token or chat id is empty, when the action runs, then it skips cleanly and the calling workflow stays green.
  • Given Telegram is unreachable or returns an error, when the action runs, then it logs a warning without printing the response body and the calling workflow stays green.
  • Given the merged default branch, when tags are listed, then an annotated v1 tag points at the action's first release.
### Context Telegram CI notifications exist as three divergent copies across app repositories (two composite actions with different directory and input names, plus inline curl), violating the org rule that notification logic lives in one reusable action. This repository's README already names it as the home for shared actions; nothing is implemented yet. The launchpad release pipeline needs the action now. ### Scope - In: a reusable notify-telegram composite action; documentation of its inputs and consumption; a versioning tag consumers can pin. - Out: migrating existing repositories to it; other shared actions. ### Acceptance criteria - [ ] Given a workflow in another repository on this Forgejo instance, when it references the action with a pinned tag, then a Telegram message is sent with status icon, title, repository, branch, commit, actor, optional details, and link. - [ ] Given the bot token or chat id is empty, when the action runs, then it skips cleanly and the calling workflow stays green. - [ ] Given Telegram is unreachable or returns an error, when the action runs, then it logs a warning without printing the response body and the calling workflow stays green. - [ ] Given the merged default branch, when tags are listed, then an annotated v1 tag points at the action's first release.
ahmad self-assigned this 2026-08-12 12:48:55 +00:00
ahmad 2026-08-12 12:50:44 +00:00
Sign in to join this conversation.
No description provided.