Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
33 lines
667 B
Bash
Executable File
33 lines
667 B
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ "$#" -ne 3 ]; then
|
|
echo "Usage:"
|
|
echo " sha256-file-to SHA256 http://FETCH/FROM DST"
|
|
echo
|
|
echo "SHA256 is the sha256sum of the file fetched; the file is"
|
|
echo "placed in DST."
|
|
exit 1
|
|
fi
|
|
|
|
set -e
|
|
set -x
|
|
|
|
SHA256="$1"
|
|
URL="$2"
|
|
DST="$3"
|
|
|
|
# Work in a tmpdir which we clean up at the end
|
|
tmpdir="$(mktemp -d)"
|
|
trap 'rm -r "$tmpdir"' EXIT
|
|
cd "$tmpdir"
|
|
|
|
# Fetch to a predictable name, not whatever curl guesses from the URL
|
|
LOCALFILE="output"
|
|
curl -fL --retry 3 -o "$LOCALFILE" "$URL"
|
|
|
|
# Check the hash against what was passed in
|
|
echo "$SHA256 $LOCALFILE" >"$LOCALFILE.sha256"
|
|
sha256sum -c "$LOCALFILE.sha256"
|
|
|
|
mv "$LOCALFILE" "$DST"
|