mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-20 06:29:50 +00:00
[Ubuntu] Rewrite function download_with_retry (#8912)
* [Ubuntu] Rewrite function download_with_retry * Fix loop exit condition
This commit is contained in:
committed by
GitHub
parent
7dba8776df
commit
abb81511d4
@@ -9,33 +9,33 @@ source $HELPER_SCRIPTS/install.sh
|
||||
source $HELPER_SCRIPTS/etc-environment.sh
|
||||
|
||||
# Install
|
||||
image_label="$(lsb_release -rs)"
|
||||
image_label="ubuntu$(lsb_release -rs)"
|
||||
swift_version=$(curl -fsSL "https://api.github.com/repos/apple/swift/releases/latest" | jq -r '.tag_name | match("[0-9.]+").string')
|
||||
swift_release_name="swift-${swift_version}-RELEASE-${image_label}"
|
||||
|
||||
swift_tar_name="swift-$swift_version-RELEASE-ubuntu$image_label.tar.gz"
|
||||
swift_tar_url="https://swift.org/builds/swift-$swift_version-release/ubuntu${image_label//./}/swift-$swift_version-RELEASE/$swift_tar_name"
|
||||
download_with_retries $swift_tar_url "/tmp" "$swift_tar_name"
|
||||
archive_url="https://swift.org/builds/swift-${swift_version}-release/${image_label//./}/swift-${swift_version}-RELEASE/${swift_release_name}.tar.gz"
|
||||
archive_path=$(download_with_retry "$archive_url")
|
||||
|
||||
# Verifing pgp signature using official swift pgp key. Referring to https://www.swift.org/install/linux/#Installation-via-Tarball
|
||||
# Download swift pgp key
|
||||
download_with_retries "https://swift.org/keys/all-keys.asc" "/tmp" "all-keys.asc"
|
||||
# Import swift pgp key
|
||||
gpg --no-default-keyring --keyring swift --import /tmp/all-keys.asc
|
||||
# Download signature file
|
||||
download_with_retries "$swift_tar_url.sig" "/tmp" "$swift_tar_name.sig"
|
||||
# Verify signature
|
||||
gpg --no-default-keyring --keyring swift --verify "/tmp/$swift_tar_name.sig" "/tmp/$swift_tar_name"
|
||||
# Download and import swift pgp key
|
||||
pgp_key_path=$(download_with_retry "https://swift.org/keys/all-keys.asc")
|
||||
gpg --no-default-keyring --keyring swift --import "$pgp_key_path"
|
||||
|
||||
# Download and verify signature
|
||||
signature_path=$(download_with_retry "${archive_url}.sig")
|
||||
gpg --no-default-keyring --keyring swift --verify "$signature_path" "$archive_path"
|
||||
|
||||
# Remove swift pgp public key with temporary keyring
|
||||
rm ~/.gnupg/swift
|
||||
|
||||
|
||||
tar xzf /tmp/$swift_tar_name
|
||||
# Extract and install swift
|
||||
tar xzf "$archive_path" -C /tmp
|
||||
|
||||
SWIFT_INSTALL_ROOT="/usr/share/swift"
|
||||
SWIFT_BIN_ROOT="$SWIFT_INSTALL_ROOT/usr/bin"
|
||||
SWIFT_LIB_ROOT="$SWIFT_INSTALL_ROOT/usr/lib"
|
||||
|
||||
mv swift-$swift_version-RELEASE-ubuntu$image_label $SWIFT_INSTALL_ROOT
|
||||
mv "/tmp/${swift_release_name}" $SWIFT_INSTALL_ROOT
|
||||
mkdir -p /usr/local/lib
|
||||
|
||||
ln -s "$SWIFT_BIN_ROOT/swift" /usr/local/bin/swift
|
||||
|
||||
Reference in New Issue
Block a user