feat(notify-all): 加 channels input 选择通知通道 (v1.2.0)
lint / yamllint (push) Successful in 6m52s

新 input:
  channels: 默认 'both'(同时推 Bark + 发邮件)
           可选 'bark'(只推 Bark)/ 'email'(只发邮件)

实现:composite step 加 'if' 条件
  Push to Bark:  if ${{ inputs.channels != 'email' }}
  Send email:    if ${{ inputs.channels != 'bark' }}

兼容:未传 channels 时默认 both,向后兼容 v1.1.x 用法。

README.md / docker-gitea/docs/ci-actions.md 同步更新。
This commit is contained in:
beforegolive
2026-07-16 13:48:01 +08:00
parent 323bf9bfdb
commit e9ed21bd4d
2 changed files with 19 additions and 0 deletions
+12
View File
@@ -36,6 +36,7 @@ secret 走 org-levelgitea_admin org 已配)。
| Input | Default | 说明 | | Input | Default | 说明 |
|---|---|---| |---|---|---|
| `channels` | `both` | 通知通道:`both` / `bark` / `email` |
| `title` | `[${{ github.repository }}] ${{ github.workflow }}` | Bark 推送标题 | | `title` | `[${{ github.repository }}] ${{ github.workflow }}` | Bark 推送标题 |
| `email_subject` | `[gitea-ci] ${{ github.repository }} - ${{ inputs.status }}` | 邮件主题 | | `email_subject` | `[gitea-ci] ${{ github.repository }} - ${{ inputs.status }}` | 邮件主题 |
| `bark_device_key` | `${{ secrets.BARK_DEVICE_KEY }}` | Bark keyorg secret | | `bark_device_key` | `${{ secrets.BARK_DEVICE_KEY }}` | Bark keyorg secret |
@@ -70,6 +71,17 @@ run: http://gitea:3000/gitea_admin/<repo>/actions/runs/<id>
业务 repo 不需要再配 secret。 业务 repo 不需要再配 secret。
## 选通道
```yaml
- uses: http://gitea:3000/gitea_admin/ci-actions/notify-all@v1.2.0
with:
status: ${{ needs.build.result }}
channels: email # 只发邮件(不推 Bark
```
可选值:`both`(默认)/ `bark` / `email`
## 内部实现 ## 内部实现
`notify-all` 是 composite action,内部 chain 调 sibling action `notify-all` 是 composite action,内部 chain 调 sibling action
+7
View File
@@ -12,6 +12,10 @@ inputs:
status: status:
description: 'Build job status (caller passes ${{ needs.<job>.result }})' description: 'Build job status (caller passes ${{ needs.<job>.result }})'
required: true required: true
channels:
description: 'Notification channels: both (default) / bark / email'
required: false
default: 'both'
title: title:
description: 'Notification title' description: 'Notification title'
required: false required: false
@@ -74,7 +78,9 @@ runs:
echo "value=${SHORT}" >> "$GITHUB_OUTPUT" echo "value=${SHORT}" >> "$GITHUB_OUTPUT"
# 2. Push to Bark(链式调 sibling action,完整 URL 因为 act_runner 0.2.11 不支持 ./relative # 2. Push to Bark(链式调 sibling action,完整 URL 因为 act_runner 0.2.11 不支持 ./relative
# 默认走 bark + email (channels=both),可传 channels=bark 只推 bark / channels=email 只发邮件
- name: Push to Bark - name: Push to Bark
if: ${{ inputs.channels != 'email' }}
uses: http://gitea:3000/gitea_admin/ci-actions/notify-bark@v1.1.2 uses: http://gitea:3000/gitea_admin/ci-actions/notify-bark@v1.1.2
with: with:
device_key: ${{ inputs.bark_device_key }} device_key: ${{ inputs.bark_device_key }}
@@ -92,6 +98,7 @@ runs:
# 3. Send email # 3. Send email
- name: Send email - name: Send email
if: ${{ inputs.channels != 'bark' }}
uses: http://gitea:3000/gitea_admin/ci-actions/notify-email@v1.1.2 uses: http://gitea:3000/gitea_admin/ci-actions/notify-email@v1.1.2
with: with:
smtp_host: ${{ inputs.smtp_host }} smtp_host: ${{ inputs.smtp_host }}