transfer.sh: Drop support for boards other than amd64-usr

We're no longer publishing arm64-usr releases.
This commit is contained in:
Benjamin Gilbert 2018-07-26 15:14:23 -04:00
parent ae58a7169a
commit 32863264fd

View File

@ -2,9 +2,8 @@
set -eux set -eux
declare -A APPID APPID=e96281a6-d1af-4bde-9a0a-97b76e56dc57
APPID[amd64-usr]=e96281a6-d1af-4bde-9a0a-97b76e56dc57 BOARD=amd64-usr
APPID[arm64-usr]=103867da-e3a2-4c92-b0b3-7fbd7f7d8b71
declare -A RELEASE_CHANNEL declare -A RELEASE_CHANNEL
RELEASE_CHANNEL[alpha]=Alpha RELEASE_CHANNEL[alpha]=Alpha
@ -14,10 +13,9 @@ RELEASE_CHANNEL[stable]=Stable
download() { download() {
local channel="$1" local channel="$1"
local version="$2" local version="$2"
local board="$3"
local gs="gs://builds.release.core-os.net/${channel}/boards/${board}/${version}" local gs="gs://builds.release.core-os.net/${channel}/boards/${BOARD}/${version}"
local dir="${BASEDIR}/${board}/${version}" local dir="${BASEDIR}/${BOARD}/${version}"
mkdir -p "${dir}" mkdir -p "${dir}"
pushd "${dir}" >/dev/null pushd "${dir}" >/dev/null
@ -30,10 +28,10 @@ download() {
"${gs}/coreos_production_update.zip.sig" ./ "${gs}/coreos_production_update.zip.sig" ./
# torcx manifest: try embargoed release bucket first # torcx manifest: try embargoed release bucket first
local torcx_base="gs://builds.release.core-os.net/embargoed/devfiles/torcx/manifests/${board}/${version}" local torcx_base="gs://builds.release.core-os.net/embargoed/devfiles/torcx/manifests/${BOARD}/${version}"
if ! gsutil -q stat "${torcx_base}/torcx_manifest.json"; then if ! gsutil -q stat "${torcx_base}/torcx_manifest.json"; then
# Non-embargoed release # Non-embargoed release
local torcx_base="gs://builds.developer.core-os.net/torcx/manifests/${board}/${version}" local torcx_base="gs://builds.developer.core-os.net/torcx/manifests/${BOARD}/${version}"
fi fi
gsutil -m cp \ gsutil -m cp \
"${torcx_base}/torcx_manifest.json" \ "${torcx_base}/torcx_manifest.json" \
@ -51,9 +49,8 @@ download() {
upload() { upload() {
local channel="$1" local channel="$1"
local version="$2" local version="$2"
local board="$3"
local dir="${BASEDIR}/${board}/${version}" local dir="${BASEDIR}/${BOARD}/${version}"
local payload="${dir}/coreos_production_update.gz" local payload="${dir}/coreos_production_update.gz"
local torcx_manifest="${dir}/torcx_manifest.json" local torcx_manifest="${dir}/torcx_manifest.json"
local torcx_manifest_sig="${dir}/torcx_manifest.json.asc" local torcx_manifest_sig="${dir}/torcx_manifest.json.asc"
@ -68,8 +65,8 @@ upload() {
"$(dirname $0)/../core_roller_upload" \ "$(dirname $0)/../core_roller_upload" \
--user="${ROLLER_USERNAME}" \ --user="${ROLLER_USERNAME}" \
--api_key="${ROLLER_API_KEY}" \ --api_key="${ROLLER_API_KEY}" \
--app_id="${APPID[${board}]}" \ --app_id="${APPID}" \
--board="${board}" \ --board="${BOARD}" \
--version="${version}" \ --version="${version}" \
--payload="${payload}" --payload="${payload}"
@ -77,7 +74,7 @@ upload() {
gsutil cp \ gsutil cp \
"${torcx_manifest}" \ "${torcx_manifest}" \
"${torcx_manifest_sig}" \ "${torcx_manifest_sig}" \
"gs://coreos-tectonic-torcx/manifests/${board}/${version}/" "gs://coreos-tectonic-torcx/manifests/${BOARD}/${version}/"
# Update version in a canary channel if one is defined. # Update version in a canary channel if one is defined.
local -n canary_channel="ROLLER_CANARY_CHANNEL_${channel^^}" local -n canary_channel="ROLLER_CANARY_CHANNEL_${channel^^}"
@ -87,7 +84,7 @@ upload() {
--user="${ROLLER_USERNAME}" \ --user="${ROLLER_USERNAME}" \
--key="${ROLLER_API_KEY}" \ --key="${ROLLER_API_KEY}" \
channel update \ channel update \
--app-id="${APPID[${board}]}" \ --app-id="${APPID}" \
--channel="${canary_channel}" \ --channel="${canary_channel}" \
--version="${version}" --version="${version}"
fi fi
@ -96,17 +93,16 @@ upload() {
ready() { ready() {
local channel="$1" local channel="$1"
local version="$2" local version="$2"
local board="$3"
# setting the percent will deactivate (not delete) any existing rollouts for # setting the percent will deactivate (not delete) any existing rollouts for
# this specific group. # this specific group.
echo "Rollout set to 0% for ${board}" echo "Rollout set to 0%"
updateservicectl \ updateservicectl \
--server="https://public.update.core-os.net" \ --server="https://public.update.core-os.net" \
--user="${ROLLER_USERNAME}" \ --user="${ROLLER_USERNAME}" \
--key="${ROLLER_API_KEY}" \ --key="${ROLLER_API_KEY}" \
group percent \ group percent \
--app-id="${APPID[${board}]}" \ --app-id="${APPID}" \
--group-id="${channel}" \ --group-id="${channel}" \
--update-percent=0 --update-percent=0
@ -117,7 +113,7 @@ ready() {
--user="${ROLLER_USERNAME}" \ --user="${ROLLER_USERNAME}" \
--key="${ROLLER_API_KEY}" \ --key="${ROLLER_API_KEY}" \
channel update \ channel update \
--app-id="${APPID[${board}]}" \ --app-id="${APPID}" \
--channel="${RELEASE_CHANNEL[${channel}]}" \ --channel="${RELEASE_CHANNEL[${channel}]}" \
--publish=true \ --publish=true \
--version="${version}" --version="${version}"
@ -126,35 +122,21 @@ ready() {
roll() { roll() {
local channel="$1" local channel="$1"
local hours="$2" local hours="$2"
local board="$3"
local seconds=$((${hours} * 3600)) local seconds=$((${hours} * 3600))
# Only ramp rollouts on AMD64; ARM64 is too small # creating a new rollout deletes any existing rollout for this group and
if [[ "$board" = "arm64-usr" ]]; then # automatically activates the new one.
echo "Setting rollout for arm64-usr to 100%" echo "Creating linear rollout that will get to 100% in ${hours}h"
updateservicectl \ updateservicectl \
--server="https://public.update.core-os.net" \ --server="https://public.update.core-os.net" \
--user="${ROLLER_USERNAME}" \ --user="${ROLLER_USERNAME}" \
--key="${ROLLER_API_KEY}" \ --key="${ROLLER_API_KEY}" \
group percent \ rollout create linear \
--app-id="${APPID[${board}]}" \ --app-id="${APPID}" \
--group-id="${channel}" \ --group-id="${channel}" \
--update-percent=100 --duration="${seconds}" \
else --frame-size="60"
# creating a new rollout deletes any existing rollout for this group and
# automatically activates the new one.
echo "Creating linear rollout for ${board} that will get to 100% in ${hours}h"
updateservicectl \
--server="https://public.update.core-os.net" \
--user="${ROLLER_USERNAME}" \
--key="${ROLLER_API_KEY}" \
rollout create linear \
--app-id="${APPID[${board}]}" \
--group-id="${channel}" \
--duration="${seconds}" \
--frame-size="60"
fi
} }
usage() { usage() {
@ -209,15 +191,13 @@ while [[ $# > 0 ]]; do
case "${c}" in case "${c}" in
-a) -a)
$CMD "alpha" "${v}" "amd64-usr" $CMD "alpha" "${v}"
$CMD "alpha" "${v}" "arm64-usr"
;; ;;
-b) -b)
$CMD "beta" "${v}" "amd64-usr" $CMD "beta" "${v}"
$CMD "beta" "${v}" "arm64-usr"
;; ;;
-s) -s)
$CMD "stable" "${v}" "amd64-usr" $CMD "stable" "${v}"
;; ;;
*) *)
usage usage