fix: update install.sh (#937)

* fix: update install.sh

Signed-off-by: hackercat <me@hackerc.at>

* fix: chmod +x install.sh

Signed-off-by: hackercat <me@hackerc.at>

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
Ryan 2021-12-27 17:18:30 +01:00 committed by GitHub
parent ed01f464ed
commit e9c4609dca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

76
install.sh Normal file → Executable file
View file

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
set -e set -e
# Code generated by godownloader on 2019-01-15T06:15:28Z. DO NOT EDIT. # Code generated by godownloader on 2021-12-22T16:10:52Z. DO NOT EDIT.
# #
usage() { usage() {
@ -9,7 +9,7 @@ usage() {
$this: download go binaries for nektos/act $this: download go binaries for nektos/act
Usage: $this [-b] bindir [-d] [tag] Usage: $this [-b] bindir [-d] [tag]
-b sets bindir or installation directory, Defaults to /usr/local/bin -b sets bindir or installation directory, Defaults to ./bin
-d turns on debug logging -d turns on debug logging
[tag] is a tag from [tag] is a tag from
https://github.com/nektos/act/releases https://github.com/nektos/act/releases
@ -23,15 +23,16 @@ EOF
} }
parse_args() { parse_args() {
#BINDIR is /usr/local/bin unless set be ENV #BINDIR is ./bin unless set be ENV
# over-ridden by flag below # over-ridden by flag below
BINDIR=${BINDIR:-/usr/local/bin} BINDIR=${BINDIR:-./bin}
while getopts "b:dh?" arg; do while getopts "b:dh?x" arg; do
case "$arg" in case "$arg" in
b) BINDIR="$OPTARG" ;; b) BINDIR="$OPTARG" ;;
d) log_set_priority 10 ;; d) log_set_priority 10 ;;
h | \?) usage "$0" ;; h | \?) usage "$0" ;;
x) set -x ;;
esac esac
done done
shift $((OPTIND - 1)) shift $((OPTIND - 1))
@ -42,43 +43,45 @@ parse_args() {
# network, either nothing will happen or will syntax error # network, either nothing will happen or will syntax error
# out preventing half-done work # out preventing half-done work
execute() { execute() {
tmpdir=$(mktmpdir) tmpdir=$(mktemp -d)
log_debug "downloading files into ${tmpdir}" log_debug "downloading files into ${tmpdir}"
http_download "${tmpdir}/${TARBALL}" "${TARBALL_URL}" http_download "${tmpdir}/${TARBALL}" "${TARBALL_URL}"
http_download "${tmpdir}/${CHECKSUM}" "${CHECKSUM_URL}" http_download "${tmpdir}/${CHECKSUM}" "${CHECKSUM_URL}"
hash_sha256_verify "${tmpdir}/${TARBALL}" "${tmpdir}/${CHECKSUM}" hash_sha256_verify "${tmpdir}/${TARBALL}" "${tmpdir}/${CHECKSUM}"
srcdir="${tmpdir}" srcdir="${tmpdir}"
(cd "${tmpdir}" && untar "${TARBALL}") (cd "${tmpdir}" && untar "${TARBALL}")
install -d "${BINDIR}" test ! -d "${BINDIR}" && install -d "${BINDIR}"
for binexe in "act" ; do for binexe in $BINARIES; do
if [ "$OS" = "windows" ]; then if [ "$OS" = "windows" ]; then
binexe="${binexe}.exe" binexe="${binexe}.exe"
fi fi
install "${srcdir}/${binexe}" "${BINDIR}/" install "${srcdir}/${binexe}" "${BINDIR}/"
log_info "installed ${BINDIR}/${binexe}" log_info "installed ${BINDIR}/${binexe}"
done done
rm -rf "${tmpdir}"
} }
is_supported_platform() { get_binaries() {
platform=$1 case "$PLATFORM" in
found=1 darwin/386) BINARIES="act" ;;
case "$platform" in darwin/amd64) BINARIES="act" ;;
darwin/amd64) found=0 ;; darwin/arm64) BINARIES="act" ;;
darwin/386) found=0 ;; darwin/armv6) BINARIES="act" ;;
linux/amd64) found=0 ;; darwin/armv7) BINARIES="act" ;;
linux/386) found=0 ;; linux/386) BINARIES="act" ;;
windows/amd64) found=0 ;; linux/amd64) BINARIES="act" ;;
windows/386) found=0 ;; linux/arm64) BINARIES="act" ;;
esac linux/armv6) BINARIES="act" ;;
return $found linux/armv7) BINARIES="act" ;;
} windows/386) BINARIES="act" ;;
check_platform() { windows/amd64) BINARIES="act" ;;
if is_supported_platform "$PLATFORM"; then windows/arm64) BINARIES="act" ;;
# optional logging goes here windows/armv6) BINARIES="act" ;;
true windows/armv7) BINARIES="act" ;;
else *)
log_crit "platform $PLATFORM is not supported. Make sure this script is up-to-date and file request at https://github.com/${PREFIX}/issues/new" log_crit "platform $PLATFORM is not supported. Make sure this script is up-to-date and file request at https://github.com/${PREFIX}/issues/new"
exit 1 exit 1
fi ;;
esac
} }
tag_to_version() { tag_to_version() {
if [ -z "${TAG}" ]; then if [ -z "${TAG}" ]; then
@ -96,8 +99,8 @@ tag_to_version() {
VERSION=${TAG#v} VERSION=${TAG#v}
} }
adjust_format() { adjust_format() {
# change format (tar.gz or zip) based on ARCH # change format (tar.gz or zip) based on OS
case ${ARCH} in case ${OS} in
windows) FORMAT=zip ;; windows) FORMAT=zip ;;
esac esac
true true
@ -185,7 +188,9 @@ log_crit() {
uname_os() { uname_os() {
os=$(uname -s | tr '[:upper:]' '[:lower:]') os=$(uname -s | tr '[:upper:]' '[:lower:]')
case "$os" in case "$os" in
msys_nt) os="windows" ;; cygwin_nt*) os="windows" ;;
mingw*) os="windows" ;;
msys_nt*) os="windows" ;;
esac esac
echo "$os" echo "$os"
} }
@ -245,8 +250,8 @@ uname_arch_check() {
untar() { untar() {
tarball=$1 tarball=$1
case "${tarball}" in case "${tarball}" in
*.tar.gz | *.tgz) tar -xzf "${tarball}" ;; *.tar.gz | *.tgz) tar --no-same-owner -xzf "${tarball}" ;;
*.tar) tar -xf "${tarball}" ;; *.tar) tar --no-same-owner -xf "${tarball}" ;;
*.zip) unzip "${tarball}" ;; *.zip) unzip "${tarball}" ;;
*) *)
log_err "untar unknown archive format for ${tarball}" log_err "untar unknown archive format for ${tarball}"
@ -254,11 +259,6 @@ untar() {
;; ;;
esac esac
} }
mktmpdir() {
test -z "$TMPDIR" && TMPDIR="$(mktemp -d)"
mkdir -p "${TMPDIR}"
echo "${TMPDIR}"
}
http_download_curl() { http_download_curl() {
local_file=$1 local_file=$1
source_url=$2 source_url=$2
@ -379,7 +379,7 @@ uname_arch_check "$ARCH"
parse_args "$@" parse_args "$@"
check_platform get_binaries
tag_to_version tag_to_version