rust: Ensure we verify the checksum and create out
Change-Id: Ibdf7373109efb213d9b4453583dcbc23dc80876a
diff --git a/manage-rust-toolchain.sh b/manage-rust-toolchain.sh
index dcc4990..3a700f2 100755
--- a/manage-rust-toolchain.sh
+++ b/manage-rust-toolchain.sh
@@ -60,22 +60,34 @@
local tarball="$(generate-tarball-name)"
- if [[ -f "${ROOTDIR}/out/${tarball}" ]]; then
+ if [[ -f "${OUT}/${tarball}" ]]; then
die "Tarball ${tarball} already exists -- cowardly refusing to overwrite it."
fi
- echo "Creating tarball in ${ROOTDIR}/out/${tarball}..."
+ mkdir -p "${OUT}"
+
+ echo "Creating tarball in ${OUT}/${tarball}..."
tar -C "${ROOTDIR}/cache" -c -f - rust_toolchain \
|xz -T0 -9 \
- > "${ROOTDIR}/out/${tarball}"
+ > "${OUT}/${tarball}"
if [[ "$?" != 0 ]]; then
- rm -f "${ROOTDIR}/out/${tarball}"
die "Couldn't create tarball."
fi
echo "Generating sha256sums..."
- (cd "${ROOTDIR}/out" && sha256sum "${tarball}") > "${ROOTDIR}/out/${tarball}.sha256sum"
+ (cd "${OUT}" && sha256sum "${tarball}") > "${OUT}/${tarball}.sha256sum"
+
+ if [[ "$?" != 0 ]]; then
+ die "Couldn't create sha256sum checksum file."
+ fi
+
+ echo "Verifying sha256sum is valid..."
+ (cd "${OUT}" && sha256sum -c "${tarball}.sha256sum")
+
+ if [[ "$?" != 0 ]]; then
+ die "Couldn't verify sha256sum!"
+ fi
}
function list-tarballs {
@@ -88,13 +100,19 @@
local tarball="$(generate-tarball-name)"
echo "Uploading tarball..."
- try gsutil cp "${ROOTDIR}/out/${tarball}" "${PUBLIC_ARTIFACTS_PATH}/${tarball}"
- try gsutil cp "${ROOTDIR}/out/${tarball}.sha256sum" "${PUBLIC_ARTIFACTS_PATH}/${tarball}.sha256sum"
+ try gsutil cp "${OUT}/${tarball}" "${PUBLIC_ARTIFACTS_PATH}/${tarball}"
+ try gsutil cp "${OUT}/${tarball}.sha256sum" "${PUBLIC_ARTIFACTS_PATH}/${tarball}.sha256sum"
}
function promote-tarball {
local promote_date="$1"; shift
+ echo "Removing old latest toolchain..."
+ try gsutil rm \
+ "${PUBLIC_ARTIFACTS_PATH}/rust_toolchain_latest.tar.xz"
+ try gsutil rm \
+ "${PUBLIC_ARTIFACTS_PATH}/rust_toolchain_latest.tar.xz.sha256sum"
+
echo "Promoting tarball rust_toolchain_${promote_date}.tar.xz to rust_toolchain_latest.tar.xz"
try gsutil cp \
"${PUBLIC_ARTIFACTS_PATH}/rust_toolchain_${promote_date}.tar.xz" \