Files
telegram-action/.github/workflows/ci.yml
T
a2d0caf64a ci: add regression test for step output interpolation (#68) (#73)
Reproduce the exact scenario from issue #68: write a value to
$GITHUB_OUTPUT in a step with an id, assert the runner interpolates
it, then send it through the message input with format: markdown.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 11:27:58 +08:00

152 lines
5.1 KiB
YAML

name: telegram message
on:
push:
branches:
- "**"
jobs:
# Tests the working-tree Dockerfile and entrypoint.sh; the build job below
# runs against the published image referenced by action.yml instead.
local-image:
name: Test local image build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: build image from working tree
run: docker build -t telegram-action:local .
- name: send message via local image
env:
TELEGRAM_TO: ${{ secrets.TELEGRAM_TO }}
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
run: |
docker run --rm \
-e INPUT_TO="$TELEGRAM_TO" \
-e INPUT_TOKEN="$TELEGRAM_TOKEN" \
-e INPUT_MESSAGE_THREAD_ID= \
-e INPUT_MESSAGE="ci: local image smoke test for ${{ github.sha }}" \
telegram-action:local
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: send message using with
uses: ./
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message: |
The ${{ github.event_name }} event triggered second step.
show the github variable ref: ${{ github.ref }}
show the github variable commit: ${{ github.sha }}
show the github variable ref: {{ commit.ref }}
show the github variable commit: {{ commit.sha }}
Commit Message: ${{ github.event.head_commit.message }}
- name: send default message
uses: ./
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
- name: send photo message
uses: ./
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message: send photo message
photo: "./tests/github.png"
document: "./tests/gophercolor.png"
- name: send location message
uses: ./
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
location: "24.9163213 121.1424972"
venue: "35.661777 139.704051 竹北體育館 新竹縣竹北市"
- name: send custom message
uses: ./
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message: |
The ${{ github.event_name }} event triggered final step.
echo This event is a pull request that had an assignee removed.
- name: send message file
uses: ./
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message_file: tests/message.txt
# Regression test for issue #68: step outputs written to $GITHUB_OUTPUT
# must be usable inside the message input. The step producing the
# output needs an `id` so it can be referenced via steps.<id>.outputs.
- name: set step output
id: repo-discussion
run: |
COUNT=42
echo "discussionCount=$COUNT" >> "$GITHUB_OUTPUT"
- name: verify step output is interpolated
run: |
test "${{ steps.repo-discussion.outputs.discussionCount }}" = "42"
- name: send message with step output (issue #68)
uses: ./
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message: |
There are currently ${{ steps.repo-discussion.outputs.discussionCount }} discussions, come on!
format: markdown
# - name: send message using socks5 proxy URL
# uses: appleboy/telegram-action@master
# with:
# to: ${{ secrets.TELEGRAM_TO }}
# token: ${{ secrets.TELEGRAM_TOKEN }}
# socks5: "http://222.124.154.19:23500"
# message: Send message from socks5 proxy URL.
# - name: try multiple message
# uses: appleboy/telegram-action@master
# with:
# to: ${{ secrets.TELEGRAM_TO }}
# token: ${{ secrets.TELEGRAM_TOKEN }}
# format: html
# message: |
# ⚡️ <a href="https://github.com/aszenz/repo/commit/${{ github.event.push.after }}">Commits</a> pushed to master by <em>${{ github.event.push.pusher.name }}</em> ⚡️
# ${{ github.actor }}:${{ github.event.head_commit.message }}
- name: link preview
uses: ./
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message: |
show link preview https://google.com.tw
- name: disable link preview
uses: ./
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
disable_web_page_preview: true
message: |
disable link preview https://google.com.tw
- name: sending a message without notification
uses: ./
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
disable_notification: true
message: |
disable link preview https://google.com.tw