#!/usr/bin/env bash # Writes a release manifest from built archives, one platform per line. # Usage: install/manifest.sh -.tar.gz> set -euo pipefail VERSION=$1 DIR=$2 BASE=${VCS_DOWNLOADS:-https://downloads.coline.dev/vcs} printf '{\n "version": "%s",\n "platforms": {\n' "$VERSION" first=1 for f in "$DIR"/vcs-"$VERSION"-*.tar.gz; do platform=$(basename "$f" .tar.gz) platform=${platform#vcs-"$VERSION"-} sha=$(sha256sum "$f" | cut -d' ' -f1) [ "$first" = 1 ] || printf ',\n' first=0 printf ' "%s": {"url": "%s/%s/%s", "sha256": "%s"}' "$platform" "$BASE" "$VERSION" "$(basename "$f")" "$sha" done printf '\n }\n}\n'