mirror of https://github.com/cutefishos/calamares
CI: different tactic for notifications
parent
dd670f7c44
commit
ded7991dd6
@ -0,0 +1,55 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021 Adriaan de Groot <groot@kde.org>
|
||||
# SPDX-License-Identifier: BSD-2-Clause
|
||||
#
|
||||
###
|
||||
#
|
||||
# Sends a notification to wherever the notifications need to be sent.
|
||||
#
|
||||
# Called with the following environment (for tokens / secrets):
|
||||
# MATRIX_ROOM
|
||||
# MATRIX_TOKEN
|
||||
#
|
||||
# Called with the following arguments (in order):
|
||||
# - "OK" or "FAIL"
|
||||
# - github.workflow
|
||||
# - github.repository
|
||||
# - github.actor
|
||||
# - github.event.ref
|
||||
# - commit-message-summary (produced in the workflow)
|
||||
# - github.event.compare
|
||||
#
|
||||
|
||||
test -z "$MATRIX_ROOM" && { echo "! No secrets" ; exit 1 ; }
|
||||
test -z "$MATRIX_TOKEN" && { echo "! No secrets" ; exit 1 ; }
|
||||
|
||||
STATUS="$1"
|
||||
|
||||
WORKFLOW="$2"
|
||||
REPOSITORY="$3"
|
||||
ACTOR="$4"
|
||||
EVENT="$5"
|
||||
SUMMARY="$6"
|
||||
COMPARE="$7"
|
||||
|
||||
test "x$STATUS" = "xOK" -o "x$STATUS" = "xFAIL" || { echo "! Invalid status" ; exit 1 ; }
|
||||
|
||||
test -z "$WORKFLOW" && { echo "! No event data" ; exit 1 ; }
|
||||
test -z "$REPOSITORY" && { echo "! No event data" ; exit 1 ; }
|
||||
test -z "$ACTOR" && { echo "! No event data" ; exit 1 ; }
|
||||
test -z "$EVENT" && { echo "! No event data" ; exit 1 ; }
|
||||
# It's ok for summary or the compare URL to be empty
|
||||
|
||||
url="https://matrix.org/_matrix/client/r0/rooms/%21${MATRIX_ROOM}/send/m.room.message?access_token=${MATRIX_TOKEN}"
|
||||
|
||||
status_line="${STATUS} ${WORKFLOW} in ${REPOSITORY} ${ACTOR} on ${EVENT}"
|
||||
summary_line=""
|
||||
compare_line=""
|
||||
|
||||
test -n "$SUMMARY" && summary_line="\n.. ${SUMMARY}"
|
||||
test -n "$COMPARE" && compare_line="\n.. DIFF ${COMPARE}"
|
||||
|
||||
message_data=$(jq -Rs --arg body "${status_line}${summary_line}${compare_line}" '{"msgtype": "m.text", $body}' < /dev/null)
|
||||
|
||||
curl -s -XPOST -d "$message_data" "$url" > /dev/null
|
Loading…
Reference in New Issue