#!/usr/bin/env bash set -e set -o pipefail . ./common cd "$1" ssh -F "$CONFIG_PATH" "$HOSTNAME" sh -s << EOF | tar x files="$(get_version | jq -r .[].path)" archive="\$(mktemp -t)" files_path="\$(mktemp -t)" head --bytes=10240 /dev/zero > "\$archive" echo "\$files" > "\$files_path" error=false while read -r filepath; do if [ ! -e "\$filepath" ]; then echo "File not found on remote: \$filepath" >&2 error=true break fi tar rf "\$archive" "\$filepath" done < "\$files_path" if ! "\$error"; then cat "\$archive" fi rm "\$archive" if "\$error"; then exit 1 else: exit 0 fi EOF jq -r tostring << EOF { "version": $(get_version) } EOF