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-level(gitea_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..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 action(v1.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 }}