diff --git a/offline_signing/download.sh b/offline_signing/transfer.sh similarity index 53% rename from offline_signing/download.sh rename to offline_signing/transfer.sh index 78f71e65f5..7a3ab7cc4e 100755 --- a/offline_signing/download.sh +++ b/offline_signing/transfer.sh @@ -27,18 +27,61 @@ download() { popd >/dev/null } +upload() { + local channel="$1" + local version="$2" + local board="$3" + + local payload="${BASEDIR}/${board}/${version}/coreos_production_update.gz" + if [[ ! -e "${payload}" ]]; then + echo "No such file: ${payload}" >&2 + exit 1 + fi + + declare -A appid + appid[amd64-usr]=e96281a6-d1af-4bde-9a0a-97b76e56dc57 + appid[arm64-usr]=103867da-e3a2-4c92-b0b3-7fbd7f7d8b71 + + "$(dirname $0)/../core_roller_upload" \ + --user="${ROLLER_USERNAME}" \ + --api_key="${ROLLER_API_KEY}" \ + --app_id="${appid[${board}]}" \ + --board="${board}" \ + --version="${version}" \ + --payload="${payload}" +} + usage() { - echo "Usage: $0 [{-a|-b|-s} ]..." >&2 + echo "Usage: $0 {download|upload} [{-a|-b|-s} ]..." >&2 exit 1 } -CMD=download +# Parse base arguments. +CMD="${1:-}" +BASEDIR="${2:-}" +shift 2 ||: + +case "${CMD}" in + download) + ;; + upload) + if [[ -e "${HOME}/.config/roller.conf" ]]; then + . "${HOME}/.config/roller.conf" + fi + if [[ -z "${ROLLER_USERNAME:-}" || -z "${ROLLER_API_KEY:-}" ]]; then + echo 'Missing $ROLLER_USERNAME or $ROLLER_API_KEY.' >&2 + echo "Consider adding shell assignments to ~/.config/roller.conf." >&2 + exit 1 + fi + ;; + *) + usage + ;; +esac -BASEDIR="${1:-}" if [[ -z "${BASEDIR}" ]]; then usage fi -shift if [[ -d "${BASEDIR}" && ! -O "${BASEDIR}" ]]; then echo "Fixing ownership of ${BASEDIR}..."