-
-
Notifications
You must be signed in to change notification settings - Fork 45
67 lines (59 loc) · 2.39 KB
/
notification.yml
File metadata and controls
67 lines (59 loc) · 2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
name: Notifications on release
on:
workflow_run:
workflows: ["Publish Pinepods Multi-Architecture Image to DockerHub"]
types:
- completed
workflow_dispatch:
inputs:
message_text:
description: "Manual override text (optional)"
required: false
jobs:
discord_announcement:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Fetch the latest release
id: fetch_release
run: |
latest_release=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r '.tag_name')
release_url=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r '.html_url')
echo "Latest release version: $latest_release"
echo "Release URL: $release_url"
echo "::set-output name=version::$latest_release"
echo "::set-output name=release_url::$release_url"
# Check if this is an RC release
if [[ "$latest_release" == *"-rc"* ]]; then
echo "RC release detected, skipping Discord notification"
echo "::set-output name=is_rc::true"
else
echo "::set-output name=is_rc::false"
fi
- name: Set release message
id: set_message
run: |
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
echo "::set-output name=message::${{ github.event.inputs.message_text }}"
else
version="${{ steps.fetch_release.outputs.version }}"
release_url="${{ steps.fetch_release.outputs.release_url }}"
message="Pinepods Version $version Released! Check out the release [here]($release_url)"
echo "::set-output name=message::$message"
fi
- name: Skip Discord notification for RC release
if: steps.fetch_release.outputs.is_rc == 'true'
run: |
echo "Skipping Discord notification for RC release: ${{ steps.fetch_release.outputs.version }}"
- name: Discord notification to announce deployment
if: steps.fetch_release.outputs.is_rc == 'false'
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: ${{ steps.set_message.outputs.message }}