Files
ci-actions/notify-all/action.yml
T
2026-07-16 08:56:13 +08:00

99 lines
3.2 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: 'Notify All'
description: 'Bark push + email in one step. Zero-config when paired with org/instance-level secrets.'
author: 'gitea_admin'
# 设计要点(2026-07-15):
# - title / body / subject 等全用 github.* + inputs.status 自动拼,业务 repo 只需传 status
# - secret 默认走 org-levelgitea_admin org 已配 BARK_DEVICE_KEY / EMAIL_USER /
# EMAIL_SMTP_PASS / EMAIL_TO 4 个 secret),业务 repo 0 secret 配置
# - Bark + Email 两个 step 在内部 chain 调 sibling action./notify-bark / ./notify-email),
# 避免业务 repo 写两个 step
inputs:
status:
description: 'Build job status (caller passes ${{ needs.<job>.result }})'
required: true
title:
description: 'Notification title'
required: false
default: "[${{ github.repository }}] ${{ github.workflow }}"
body:
description: 'Notification body (auto-built if not provided)'
required: false
default: |
status: ${{ inputs.status }}
branch: ${{ github.ref_name }}
commit: ${{ github.event.head_commit.message }}
sha: ${{ github.event.head_commit.id }}
actor: ${{ github.actor }}
run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
email_subject:
description: 'Email subject'
required: false
default: "[gitea-ci] ${{ github.repository }} - ${{ inputs.status }}"
# ----- Bark 配置(默认走 org secret -----
bark_device_key:
description: 'Bark device key (org secret)'
required: false
default: ${{ secrets.BARK_DEVICE_KEY }}
bark_server:
description: 'Bark server URL'
required: false
default: 'https://api.day.app'
bark_group:
description: 'Bark group'
required: false
default: 'gitea-ci'
bark_level:
description: 'Bark level'
required: false
default: 'active'
# ----- Email 配置(默认走 org secret + smtp.163.com -----
smtp_host:
description: 'SMTP host'
required: false
default: 'smtp.163.com'
smtp_port:
description: 'SMTP SSL port'
required: false
default: '465'
smtp_user:
description: 'SMTP user (org secret)'
required: false
default: ${{ secrets.EMAIL_USER }}
smtp_pass:
description: 'SMTP auth code (org secret)'
required: false
default: ${{ secrets.EMAIL_SMTP_PASS }}
to:
description: 'Recipient(s), comma separated'
required: false
default: ${{ secrets.EMAIL_TO }}
runs:
using: 'composite'
steps:
# 链式调用 sibling actionv1.1.0 tag 下的 notify-bark / notify-email
# 同仓库相对引用,避免每个 step 都走完整 URL + 重新拉一次仓库
- name: Push to Bark
uses: ./notify-bark
with:
device_key: ${{ inputs.bark_device_key }}
server: ${{ inputs.bark_server }}
title: ${{ inputs.title }}
body: ${{ inputs.body }}
group: ${{ inputs.bark_group }}
level: ${{ inputs.bark_level }}
- name: Send email
uses: ./notify-email
with:
smtp_host: ${{ inputs.smtp_host }}
smtp_port: ${{ inputs.smtp_port }}
smtp_user: ${{ inputs.smtp_user }}
smtp_pass: ${{ inputs.smtp_pass }}
to: ${{ inputs.to }}
subject: ${{ inputs.email_subject }}
body: ${{ inputs.body }}