-
-
Notifications
You must be signed in to change notification settings - Fork 6
/
trigger-workflow-publish-release.sh
113 lines (85 loc) · 2.78 KB
/
trigger-workflow-publish-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
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/usr/bin/env bash
# -----------------------------------------------------------------------------
# This file is part of the xPack distribution.
# (https://xpack.github.io)
# Copyright (c) 2020 Liviu Ionescu.
#
# Permission to use, copy, modify, and/or distribute this software
# for any purpose is hereby granted, under the terms of the MIT license.
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
# Safety settings (see https://gist.github.com/ilg-ul/383869cbb01f61a51c4d).
if [[ ! -z ${DEBUG} ]]
then
set ${DEBUG} # Activate the expand mode if DEBUG is anything but empty.
else
DEBUG=""
fi
set -o errexit # Exit if command failed.
set -o pipefail # Exit if pipe failed.
set -o nounset # Exit if variable not set.
# Remove the initial space and instead use '\n'.
IFS=$'\n\t'
# -----------------------------------------------------------------------------
# Identify the script location, to reach, for example, the helper scripts.
script_path="$0"
if [[ "${script_path}" != /* ]]
then
# Make relative path absolute.
script_path="$(pwd)/$0"
fi
script_name="$(basename "${script_path}")"
script_folder_path="$(dirname "${script_path}")"
script_folder_name="$(basename "${script_folder_path}")"
# =============================================================================
scripts_folder_path="$(dirname $(dirname "${script_folder_path}"))/scripts"
helper_folder_path="${scripts_folder_path}/helper"
# -----------------------------------------------------------------------------
source "${scripts_folder_path}/defs-source.sh"
# Helper functions
source "${helper_folder_path}/common-functions-source.sh"
source "${helper_folder_path}/test-functions-source.sh"
# -----------------------------------------------------------------------------
# Script to trigger a release publishing via GitHub Actions.
# GITHUB_API_DISPATCH_TOKEN must be present in the environment.
message="Build ${APP_NAME}"
branch="xpack-develop"
version=${RELEASE_VERSION:-"$(get_current_version)"}
workflow_id="publish-release.yml"
while [ $# -gt 0 ]
do
case "$1" in
--branch)
branch="$2"
shift 2
;;
--version)
version="$2"
shift 2
;;
--*)
echo "Unsupported option $1."
exit 1
;;
esac
done
data_file_path=$(mktemp)
rm -rf "${data_file_path}"
# Note: __EOF__ is NOT quoted to allow substitutions.
cat <<__EOF__ > "${data_file_path}"
{
"ref": "${branch}",
"inputs": {
"version": "${version}"
}
}
__EOF__
trigger_github_workflow \
"${GITHUB_ORG}" \
"${GITHUB_REPO}" \
"${workflow_id}" \
"${data_file_path}" \
"${GITHUB_API_DISPATCH_TOKEN}"
echo
echo "Done."
# -----------------------------------------------------------------------------