mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-28 06:32:25 -05:00
# Description Switches the script to use the Codeberg API to retrieve the hash. ## Checklist Please put an x inside each checkbox to indicate that you've read and followed it: `[ ]` -> `[x]` If this is a documentation change, only the first checkbox must be filled (you can delete the others if you want). - [x] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md). - [ ] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat. - [x] I/we have not leveraged AI to create the proposed changes. - [ ] I/we have performed a self-review of added code. - [ ] I/we have written code that is legible and maintainable by others. - [ ] I/we have commented the added code, particularly in hard-to-understand areas. - [ ] I/we have made any necessary changes to documentation. - [ ] I/we have added tests that cover new code. - [ ] I/we have run tests and they pass locally with the changes. - [ ] I/we have run `go fmt ./...` and `golangci-lint run`. Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4151
38 lines
1.2 KiB
Bash
Executable file
38 lines
1.2 KiB
Bash
Executable file
#!/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"
|
|
|
|
API_HOST="codeberg.org"
|
|
ORG="superseriousbusiness"
|
|
REPO="gotosocial"
|
|
BRANCH="main"
|
|
|
|
ENDPOINT="https://${API_HOST}/api/v1/repos/${ORG}/${REPO}/git/refs/heads/${BRANCH}"
|
|
|
|
if [ $# -ge 1 ] && [ -n "$1" ]; then
|
|
LATEST_HASH=$1
|
|
else
|
|
echo "fetching latest hash from endpoint '${ENDPOINT}'"
|
|
LATEST_HASH="$(curl --silent --fail --retry 5 --retry-max-time 180 --max-time 30 "${ENDPOINT}" | jq -r 'first(.[]|.object.sha)')"
|
|
echo "got latest hash = ${LATEST_HASH}"
|
|
fi
|
|
|
|
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!"
|