name: 'Notify All' description: 'Bark push + email in one step. Zero-config when paired with org/instance-level secrets.' author: 'gitea_admin' # v1.1.2 改动(2026-07-15): # - sha 字段截短到前 10 位(git short SHA 标准) # - 因为 input default 在 composite 开始时 evaluate,引用不到 steps.output, # 所以把 body 从 input default 移到 step with 里(直接用 ${{ steps.short_sha.outputs.value }}) # - 删 body input —— 业务侧不能 override body;如要自定义可走 notify-bark/notify-email 直引 inputs: status: description: 'Build job status (caller passes ${{ needs..result }})' required: true title: description: 'Notification title' required: false default: "[${{ github.repository }}] ${{ github.workflow }}" 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: # 1. 算 short SHA(git 标准 10 位)。Gitea 表达式没 slice/substring 函数,必须用 shell - name: Compute short SHA id: short_sha shell: bash run: | SHA="${{ github.event.head_commit.id }}" SHORT="${SHA:0:10}" echo "value=${SHORT}" >> "$GITHUB_OUTPUT" # 2. Push to Bark(链式调 sibling action,完整 URL 因为 act_runner 0.2.11 不支持 ./relative) - name: Push to Bark uses: http://gitea:3000/gitea_admin/ci-actions/notify-bark@v1.1.2 with: device_key: ${{ inputs.bark_device_key }} server: ${{ inputs.bark_server }} title: ${{ inputs.title }} body: | status: ${{ inputs.status }} branch: ${{ github.ref_name }} commit: ${{ github.event.head_commit.message }} sha: ${{ steps.short_sha.outputs.value }} actor: ${{ github.actor }} run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} group: ${{ inputs.bark_group }} level: ${{ inputs.bark_level }} # 3. Send email - name: Send email uses: http://gitea:3000/gitea_admin/ci-actions/notify-email@v1.1.2 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: | repository: ${{ github.repository }} workflow: ${{ github.workflow }} status: ${{ inputs.status }} branch: ${{ github.ref_name }} commit: ${{ github.event.head_commit.message }} sha: ${{ steps.short_sha.outputs.value }} url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} actor: ${{ github.actor }}