-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall.sh.boiler
43 lines (38 loc) · 1.68 KB
/
install.sh.boiler
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
#!/bin/bash
set -e
LATEST_TAG="$(curl -fsSL "https://api.github.com/repos/{{githubHandle}}/{{appName}}/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')"
LINUX_ARTIFACT="https://github.com/{{githubHandle}}/{{appName}}/releases/download/${LATEST_TAG}/{{packageName}}-${LATEST_TAG}-x86_64-unknown-linux-gnu.tar.gz"
MACOS_ARTIFACT="https://github.com/{{githubHandle}}/{{appName}}/releases/download/${LATEST_TAG}/{{packageName}}-${LATEST_TAG}-x86_64-apple-darwin.tar.gz"
PWD="$(pwd)"
INSTALLATION_DIR="/usr/local/bin"
CLONE_FILE_NAME="{{packageName}}.output.tar.gz"
CLONE_DIR="/tmp"
CLONE_PATH="${CLONE_DIR}/${CLONE_FILE_NAME}"
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
echo "{{packageName}} ${LATEST_TAG}"
echo "Downloading artifact from ${LINUX_ARTIFACT}..."
curl -fsSL "${LINUX_ARTIFACT}" --output "${CLONE_PATH}"
cd "${CLONE_DIR}"
echo "Extracting..."
tar -xvf "${CLONE_FILE_NAME}"
echo "Installing..."
mv {{packageName}} "${INSTALLATION_DIR}/{{packageName}}"
rm -rf "${CLONE_FILE_NAME}"
echo "Installed at ${INSTALLATION_DIR}/{{packageName}}"
cd "${PWD}"
elif [[ "$OSTYPE" == "darwin"* ]]; then
echo "{{packageName}} ${LATEST_TAG}"
echo "Downloading artifact from ${MACOS_ARTIFACT}..."
curl -fsSL "${MACOS_ARTIFACT}" --output "${CLONE_PATH}"
cd "${CLONE_DIR}"
echo "Extracting..."
tar -xvf "${CLONE_FILE_NAME}"
echo "Installing..."
mv {{packageName}} "${INSTALLATION_DIR}/{{packageName}}"
rm -rf "${CLONE_FILE_NAME}"
echo "Installed at ${INSTALLATION_DIR}/{{packageName}}"
cd "${PWD}"
else
echo "Sorry! No build found for the current operating system."
echo "Please raise an issue here: https://github.com/{{githubHandle}}/{{appName}}/issues/new"
fi