You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
#!/bin/sh |
|
|
|
set -eu |
|
|
|
# Cheeky little convenience script for fetching |
|
# the latest snapshot build of GoToSocial from |
|
# the Minio S3 bucket. |
|
# |
|
# Requires curl and jq. |
|
# |
|
# Change the variables below for your particular |
|
# platform and architecture (default linux amd64). |
|
GTS_PLATFORM="linux" |
|
GTS_ARCH="amd64" |
|
GTS_FILENAME="gotosocial_${GTS_PLATFORM}_${GTS_ARCH}.tar.gz" |
|
|
|
GITHUB_API_HOST="api.github.com" |
|
GITHUB_ORG="superseriousbusiness" |
|
GITHUB_REPO="gotosocial" |
|
GITHUB_BRANCH="main" |
|
GITHUB_ENDPOINT="https://${GITHUB_API_HOST}/repos/${GITHUB_ORG}/${GITHUB_REPO}/commits/${GITHUB_BRANCH}" |
|
|
|
echo "fetching latest hash from endpoint '${GITHUB_ENDPOINT}'" |
|
LATEST_HASH="$(curl --silent --fail --retry 5 --retry-max-time 180 --max-time 30 "${GITHUB_ENDPOINT}" | jq -r .sha)" |
|
echo "got latest hash = ${LATEST_HASH}" |
|
|
|
MINIO_HOST="s3.superseriousbusiness.org" |
|
MINIO_BUCKET="gotosocial-snapshots" |
|
MINIO_ENDPOINT="https://${MINIO_HOST}/${MINIO_BUCKET}/${LATEST_HASH}/${GTS_FILENAME}" |
|
|
|
echo "fetching latest snapshot tar.gz from endpoint '${MINIO_ENDPOINT}'" |
|
curl --silent --fail --retry 5 --retry-max-time 600 --max-time 1800 "${MINIO_ENDPOINT}" --output "./${GTS_FILENAME}" |
|
echo "got latest snapshot!"
|
|
|