Deploy mac OS solana-install update package to testnets (#4595)
This commit is contained in:
52
scripts/solana-install-deploy.sh
Executable file
52
scripts/solana-install-deploy.sh
Executable file
@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Convenience script to easily deploy a software update to a testnet
|
||||
#
|
||||
set -e
|
||||
SOLANA_ROOT="$(cd "$(dirname "$0")"/..; pwd)"
|
||||
|
||||
URL=$1
|
||||
TAG=$2
|
||||
OS=${3:-linux}
|
||||
|
||||
if [[ -z $URL || -z $TAG ]]; then
|
||||
echo "Usage: $0 [edge|beta|stable|localhost|RPC URL] [edge|beta|release tag] [linux|osx|windows]"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ ! -f update_manifest_keypair.json ]]; then
|
||||
"$SOLANA_ROOT"/scripts/solana-install-update-manifest-keypair.sh "$OS"
|
||||
fi
|
||||
|
||||
case $URL in
|
||||
edge|beta)
|
||||
URL=http://$URL.testnet.solana.com:8899
|
||||
;;
|
||||
stable)
|
||||
URL=http://testnet.solana.com:8899
|
||||
;;
|
||||
localhost)
|
||||
URL=http://localhost:8899
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
case $TAG in
|
||||
edge|beta)
|
||||
DOWNLOAD_URL=http://release.solana.com/"$TAG"/solana-release-$TARGET.tar.bz2
|
||||
;;
|
||||
*)
|
||||
DOWNLOAD_URL=https://github.com/solana-labs/solana/releases/download/"$TAG"/solana-release-$TARGET.tar.bz2
|
||||
;;
|
||||
esac
|
||||
|
||||
# Prefer possible `cargo build` binaries over PATH binaries
|
||||
PATH="$SOLANA_ROOT"/target/debug:$PATH
|
||||
|
||||
set -x
|
||||
balance=$(solana-wallet --url "$URL" balance)
|
||||
if [[ $balance = "0 lamports" ]]; then
|
||||
solana-wallet --url "$URL" airdrop 42
|
||||
fi
|
||||
solana-install deploy --url "$URL" "$DOWNLOAD_URL" update_manifest_keypair.json
|
38
scripts/solana-install-update-manifest-keypair.sh
Executable file
38
scripts/solana-install-update-manifest-keypair.sh
Executable file
@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Convenience script to easily deploy a software update to a testnet
|
||||
#
|
||||
# Prerequisites:
|
||||
# 1) The default keypair should have some lamports (eg, `solana-wallet airdrop 123`)
|
||||
# 2) The file update_manifest_keypair.json should exist if this script is not
|
||||
# run from the CI environment
|
||||
#
|
||||
set -e
|
||||
|
||||
OS=${1:-linux}
|
||||
|
||||
case "$OS" in
|
||||
osx)
|
||||
TARGET=x86_64-apple-darwin
|
||||
;;
|
||||
linux)
|
||||
TARGET=x86_64-unknown-linux-gnu
|
||||
;;
|
||||
windows)
|
||||
TARGET=x86_64-pc-windows-msvc
|
||||
;;
|
||||
*)
|
||||
TARGET=unknown-unknown-unknown
|
||||
;;
|
||||
esac
|
||||
|
||||
SOLANA_INSTALL_UPDATE_MANIFEST_KEYPAIR="SOLANA_INSTALL_UPDATE_MANIFEST_KEYPAIR_${TARGET//-/_}"
|
||||
|
||||
# shellcheck disable=2154 # is referenced but not assigned
|
||||
if [[ -z ${!SOLANA_INSTALL_UPDATE_MANIFEST_KEYPAIR} ]]; then
|
||||
echo "$SOLANA_INSTALL_UPDATE_MANIFEST_KEYPAIR not defined"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "${!SOLANA_INSTALL_UPDATE_MANIFEST_KEYPAIR}" > update_manifest_keypair.json
|
||||
ls -l update_manifest_keypair.json
|
Reference in New Issue
Block a user