/ build / upload
upload
 1  #!/bin/sh
 2  set -e
 3  
 4  SSH_LOGIN=${SSH_LOGIN:-release}
 5  SSH_ADDRESS=${SSH_ADDRESS:-$SSH_LOGIN@files.radicle.xyz}
 6  SSH_KEY="$(rad path)/keys/radicle"
 7  
 8  main() {
 9    version="$("$(dirname "$0")/version")"
10  
11    echo "Uploading Radicle $version..."
12  
13    if [ -z "$version" ]; then
14      echo "fatal: empty version number" >&2
15      exit 1
16    fi
17  
18    # Create remote folder.
19    ssh -i $SSH_KEY $SSH_ADDRESS mkdir -p /var/www/files.radicle.xyz/releases/radicle-httpd/$version
20    # Copy files over.
21    scp -i $SSH_KEY "$(dirname "$0")/artifacts/radicle-httpd-$version"* $SSH_ADDRESS:/var/www/files.radicle.xyz/releases/radicle-httpd/$version
22    scp -i $SSH_KEY "$(dirname "$0")/artifacts/radicle-httpd.json" $SSH_ADDRESS:/var/www/files.radicle.xyz/releases/radicle-httpd/$version
23  
24    for target in $(cat "$(dirname "$0")/TARGETS"); do
25      archive=/var/www/files.radicle.xyz/releases/radicle-httpd/$version/radicle-httpd-$version-$target.tar.xz
26      symlink=/var/www/files.radicle.xyz/releases/radicle-httpd/$version/radicle-httpd-$target.tar.xz
27  
28      echo "Creating symlinks for $target.."
29  
30      ssh -i $SSH_KEY $SSH_ADDRESS ln -snf $archive $symlink
31      ssh -i $SSH_KEY $SSH_ADDRESS ln -snf $archive.sig $symlink.sig
32      ssh -i $SSH_KEY $SSH_ADDRESS ln -snf $archive.sha256 $symlink.sha256
33    done
34  
35    if git describe --exact-match --match='releases/*' 2>/dev/null; then
36      echo "Creating 'latest' symlink.."
37      ssh -i $SSH_KEY $SSH_ADDRESS ln -snf /var/www/files.radicle.xyz/releases/radicle-httpd/$version /var/www/files.radicle.xyz/releases/radicle-httpd/latest
38    else
39      echo "Skipping 'latest' symlink creation for development build."
40    fi
41  
42    echo "Pushing tags.."
43    git push rad --tags
44  
45    echo "Done."
46  }
47  
48  main "$@"