37 lines
1.3 KiB
YAML
37 lines
1.3 KiB
YAML
name: 'Build notification'
|
|
description: 'Send build notification over ntfy.sh'
|
|
inputs:
|
|
topic:
|
|
description: 'ntfy.sh topic'
|
|
required: true
|
|
default: ''
|
|
token:
|
|
description: 'ntfy.sh token'
|
|
required: true
|
|
default: ''
|
|
jobstatus:
|
|
description: 'Job status'
|
|
required: true
|
|
default: ''
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Shorten SHA
|
|
id: shorten-sha
|
|
shell: bash
|
|
env:
|
|
FULLSHA: ${{ github.sha }}
|
|
run: echo "shortsha=[${FULLSHA:0:8}]" >> $GITHUB_OUTPUT
|
|
|
|
- name: Send notification
|
|
shell: bash
|
|
env:
|
|
NTFYMSG: ${{ (startsWith(github.ref, 'refs/tags/') && format('Tag {0} created', github.ref_name) || format('{0} {1}', steps.shorten-sha.outputs.shortsha, github.event.head_commit.message)) }}
|
|
NTFYTAGS: "Tags: ${{ inputs.jobstatus == 'success' && 'white_check_mark' || 'x' }}"
|
|
NTFYTITLE: "Title: ${{ github.repository }} - Build # ${{ github.run_number }} ${{ inputs.jobstatus }}"
|
|
NTFYICON: "Icon: ${{ github.event.repository.avatar_url }}"
|
|
NTFYURL: "https://ntfy.sh/${{ inputs.topic }}"
|
|
NTFYTOKEN: "Authorization: Bearer ${{ inputs.token }}"
|
|
run: 'curl -s -o /dev/null -H "$NTFYTAGS" -H "$NTFYTITLE" -H "$NTFYICON" -H "$NTFYTOKEN" -d "$NTFYMSG" $NTFYURL'
|