71 lines
2.1 KiB
YAML
71 lines
2.1 KiB
YAML
# Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
|
|
#
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
#
|
|
# FILE INFORMATION
|
|
# DEFGROUP: Gitea.Workflow
|
|
# INGROUP: MokoStandards.Notifications
|
|
# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards
|
|
# PATH: /.gitea/workflows/notify.yml
|
|
# VERSION: 01.00.00
|
|
# BRIEF: Push notifications via ntfy on release success or workflow failure
|
|
|
|
name: "Universal: Notifications"
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows:
|
|
- "Joomla Build & Release"
|
|
- "Joomla Extension CI"
|
|
- "Deploy"
|
|
types:
|
|
- completed
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
NTFY_URL: ${{ vars.NTFY_URL || 'https://ntfy.mokoconsulting.tech' }}
|
|
NTFY_TOPIC: ${{ vars.NTFY_TOPIC || 'gitea-releases' }}
|
|
|
|
jobs:
|
|
notify:
|
|
name: Send Notification
|
|
runs-on: ubuntu-latest
|
|
if: >-
|
|
github.event.workflow_run.conclusion == 'success' ||
|
|
github.event.workflow_run.conclusion == 'failure'
|
|
|
|
steps:
|
|
- name: Notify on success (releases only)
|
|
if: >-
|
|
github.event.workflow_run.conclusion == 'success' &&
|
|
contains(github.event.workflow_run.name, 'Release')
|
|
run: |
|
|
REPO="${{ github.event.repository.name }}"
|
|
WORKFLOW="${{ github.event.workflow_run.name }}"
|
|
URL="${{ github.event.workflow_run.html_url }}"
|
|
|
|
curl -sS \
|
|
-H "Title: ${REPO} released" \
|
|
-H "Tags: white_check_mark,package" \
|
|
-H "Priority: default" \
|
|
-H "Click: ${URL}" \
|
|
-d "${WORKFLOW} completed successfully." \
|
|
"${NTFY_URL}/${NTFY_TOPIC}"
|
|
|
|
- name: Notify on failure
|
|
if: github.event.workflow_run.conclusion == 'failure'
|
|
run: |
|
|
REPO="${{ github.event.repository.name }}"
|
|
WORKFLOW="${{ github.event.workflow_run.name }}"
|
|
URL="${{ github.event.workflow_run.html_url }}"
|
|
|
|
curl -sS \
|
|
-H "Title: ${REPO} workflow failed" \
|
|
-H "Tags: x,warning" \
|
|
-H "Priority: high" \
|
|
-H "Click: ${URL}" \
|
|
-d "${WORKFLOW} failed. Check the run for details." \
|
|
"${NTFY_URL}/${NTFY_TOPIC}"
|