-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.upload_gh
executable file
·97 lines (87 loc) · 2.69 KB
/
.upload_gh
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
#!/usr/bin/env bash
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
TZ='UTC'; export TZ
set -e
_old_dir="$(pwd)"
if [[ "$#" == "0" ]]; then
echo -e 'USAGE:\nbash '"$0"' -f "file_name" -u "user_name" -r "repo_name" -t "tag_name" -k "TOKEN"\n'
exit 1
fi
_token=""
while (( "$#" )); do
case $1 in
--token|-k)
_token="${2}"
shift 2
;;
--user|-u)
_username="${2}"
shift 2
;;
--repo|-r)
_reponame="${2}"
shift 2
;;
--file|-f)
_filename="${2}"
_displayname="$(echo ${_filename} | awk -F/ '{print $NF}')"
shift 2
;;
--tag|-t)
_tagname="${2}"
shift 2
;;
--help|-h|*)
echo -e 'USAGE:\nbash '"$0"' -f "file_name" -u "user_name" -r "repo_name" -t "tag_name" -k "TOKEN"\n'
exit 1
esac
done
if [[ ! -f /usr/bin/github-release && ! -x /usr/bin/github-release ]]; then
cd /tmp
_tmp_dir="$(mktemp -d)"
cd "${_tmp_dir}"
#_github_release_ver="$(wget -qO- 'https://github.com/github-release/github-release/releases' | grep -i '/github-release/github-release/releases/download/.*/linux-amd64-github-release.bz2' | sed 's|"|\n|g' | grep -i '/github-release/github-release/releases/download/.*/linux-amd64-github-release.bz2' | sort -V | uniq | tail -n 1)"
wget -q -c -t 0 -T 9 "https://github.com/github-release/github-release/releases/download/v0.10.0/linux-amd64-github-release.bz2"
bzip2 -d linux-amd64-github-release.bz2
rm -fr /usr/bin/github-release
sleep 1
install -c -m 0755 linux-amd64-github-release /usr/bin/github-release
sleep 1
strip /usr/bin/github-release
sleep 1
cd /tmp
rm -fr "${_tmp_dir}"
echo
/usr/bin/github-release --version
echo
fi
cd "${_old_dir}"
if wget -qO- "https://github.com/${_username}/${_reponame}" >/dev/null; then
if ! wget -qO- "https://github.com/${_username}/${_reponame}/releases/tag/${_tagname}" >/dev/null; then
sleep 60
fi
if ! wget -qO- "https://github.com/${_username}/${_reponame}/releases/tag/${_tagname}" >/dev/null; then
GITHUB_TOKEN="${_token}" \
/usr/bin/github-release release \
--user "${_username}" \
--repo "${_reponame}" \
--tag "${_tagname}"
sleep 60
fi
else
echo "'https://github.com/${_username}/${_reponame}'"' does not exist!'
exit 1
fi
GITHUB_TOKEN="${_token}" \
/usr/bin/github-release upload \
--user "${_username}" \
--repo "${_reponame}" \
--file "${_filename}" \
--name "${_displayname}" \
--tag "${_tagname}"
_token=""
sleep 5
echo
echo "Upload ${_displayname} done"
echo
exit