release
1 #!/bin/sh 2 set -e 3 4 if [ $# -ne 1 ]; then 5 echo "Usage: $0 <version-number>" 6 exit 1 7 fi 8 9 SSH_LOGIN=${SSH_LOGIN:-release} 10 SSH_ADDRESS=${SSH_ADDRESS:-$SSH_LOGIN@files.radicle.xyz} 11 SSH_KEY="$(rad path)/keys/radicle" 12 13 main() { 14 version="$1" 15 destination="/var/www/files.radicle.xyz/releases" 16 17 if [ -z "$version" ]; then 18 echo "fatal: empty version number" >&2 ; exit 1 19 fi 20 21 if ! git rev-parse --verify "releases/$version^{tag}" >/dev/null 2>&1; then 22 echo "error: '$version' is not a valid version, tag 'releases/$version' not found" >&2 23 exit 1 24 fi 25 26 printf "Releasing Radicle %s? [y/N] " "$version" 27 read -r confirmation 28 29 case "$confirmation" in 30 [Yy]*) 31 echo "Creating 'latest' symlink.." 32 ssh -i "$SSH_KEY" "$SSH_ADDRESS" ln -snf "$destination/$version" "$destination/latest" ;; 33 *) 34 echo "Operation aborted." 35 exit 1 ;; 36 esac 37 echo "Done." 38 } 39 40 main "$@"