-
Notifications
You must be signed in to change notification settings - Fork 24
/
trigger-release.sh
executable file
·30 lines (23 loc) · 1.09 KB
/
trigger-release.sh
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
#!/bin/sh
# Script to trigger release of gem via the pact-foundation/release-gem action
# Requires a Github API token with repo scope stored in the
# environment variable GITHUB_ACCESS_TOKEN_FOR_PF_RELEASES
: "${GITHUB_ACCESS_TOKEN_FOR_PF_RELEASES:?Please set environment variable GITHUB_ACCESS_TOKEN_FOR_PF_RELEASES}"
if [ -n "$1" ]; then
increment="\"${1}\""
else
increment="null"
fi
repository_slug=$(git remote get-url origin | cut -d':' -f2 | sed 's/\.git//')
output=$(curl -v https://api.github.com/repos/${repository_slug}/dispatches \
-H 'Accept: application/vnd.github.everest-preview+json' \
-H "Authorization: Bearer $GITHUB_ACCESS_TOKEN_FOR_PF_RELEASES" \
-d "{\"event_type\": \"release-triggered\", \"client_payload\": {\"increment\": ${increment}}}" 2>&1)
if ! echo "${output}" | grep "HTTP\/.* 204" > /dev/null; then
echo "$output" | sed "s/${GITHUB_ACCESS_TOKEN_FOR_PF_RELEASES}/********/g"
echo "Failed to trigger release"
exit 1
else
echo "Release workflow triggered"
fi
echo "See https://github.com/${repository_slug}/actions?query=workflow%3A%22Release+gem%22"