#!/usr/bin/env sh set -e set -o pipefail [ -e /opt/resource/common ] && cd /opt/resource/ . ./common cd "$1" if [ -n "$(get_directory)" ]; then files="$(find . | sed -e '/^\.$/d' -e 's|^./||')" tarfile="$(mktemp -tp /tmp)" remote_tarfile="$(mktemp -u)" tar -cf "$tarfile" ./* scp -F "$CONFIG_PATH" "$tarfile" "$HOSTNAME:$remote_tarfile" fi ssh -F "$CONFIG_PATH" "$HOSTNAME" sh -s << EOF set -e if [ -n "$(get_directory)" ]; then cd "$(get_directory)" tar xf "$remote_tarfile" rm "$remote_tarfile" fi if [ "$(get_command)" = "null" ]; then exit 0 fi cd "$(get_workdir)" $(get_command | jq .[] | tr '\n"' " '") >&2 # echo "\$command_log" >&2 EOF get_files_for_new_version() { echo "$files" | xargs printf "$(get_directory)/%s\n" } version="$(compute_version "$(fetch_file_infos get_files_for_new_version)")" jq -r tostring << EOF { "version": { "files": $version, "time": $(date +%s) } } EOF cleanup