forked from electron/electron
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build: use the linux aks for macos checkout/cache (electron#42447)
* build: use the linux aks for checkout/cache * build: use latest container sha * build: persist the AKS cache (first try) * build (do not merge): use current branch for workflows * build: do not check for existing cache * build: try to move src into /var/portal * build: add AZURE_AKS_CACHE_SHARE_NAME & AZURE_AKS_CACHE_STORAGE_ACCOUNT * build: add volumes: /mnt/cross-instance-cache * build: temporarily skip cache exists checks * build: reset to aks-linux-large, upload/download tar * build: pass detailed credentials into download * build: be better * build: add skip if cache exists, declare env vars earlier * build: add quotes * build: change to connection-string * build: remove connection string * build: migrate to azcopy * build: lol * build: revert ref to @main
- Loading branch information
1 parent
ffe1d70
commit 1cb63b4
Showing
2 changed files
with
149 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
#!/usr/bin/env bash | ||
|
||
####################################################################################################################### | ||
# This script does three fundamental things: # | ||
# 1. Add Microsoft's GPG Key has a trusted source of apt packages. # | ||
# 2. Add Microsoft's repositories as a source for apt packages. # | ||
# 3. Installs the Azure CLI from those repositories. # | ||
# Given the nature of this script, it must be executed with elevated privileges, i.e. with `sudo`. # | ||
# # | ||
# Copied from https://azurecliprod.blob.core.windows.net/$root/deb_install.sh # | ||
####################################################################################################################### | ||
|
||
set -e | ||
|
||
if [[ $# -ge 1 && $1 == "-y" ]]; then | ||
global_consent=0 | ||
else | ||
global_consent=1 | ||
fi | ||
|
||
function assert_consent { | ||
if [[ $2 -eq 0 ]]; then | ||
return 0 | ||
fi | ||
|
||
echo -n "$1 [Y/n] " | ||
read consent | ||
if [[ ! "${consent}" == "y" && ! "${consent}" == "Y" && ! "${consent}" == "" ]]; then | ||
echo "'${consent}'" | ||
exit 1 | ||
fi | ||
} | ||
|
||
global_consent=0 # Artificially giving global consent after review-feedback. Remove this line to enable interactive mode | ||
|
||
setup() { | ||
|
||
assert_consent "Add packages necessary to modify your apt-package sources?" ${global_consent} | ||
set -v | ||
export DEBIAN_FRONTEND=noninteractive | ||
apt-get update | ||
apt-get install -y apt-transport-https lsb-release gnupg curl | ||
set +v | ||
|
||
assert_consent "Add Microsoft as a trusted package signer?" ${global_consent} | ||
set -v | ||
curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg | ||
set +v | ||
|
||
assert_consent "Add the Azure CLI Repository to your apt sources?" ${global_consent} | ||
set -v | ||
# Use env var DIST_CODE for the package dist name if provided | ||
if [[ -z $DIST_CODE ]]; then | ||
CLI_REPO=$(lsb_release -cs) | ||
shopt -s nocasematch | ||
ERROR_MSG="Unable to find a package for your system. Please check if an existing package in https://packages.microsoft.com/repos/azure-cli/dists/ can be used in your system and install with the dist name: 'curl -sL https://aka.ms/InstallAzureCLIDeb | sudo DIST_CODE=<dist_code_name> bash'" | ||
if [[ ! $(curl -sL https://packages.microsoft.com/repos/azure-cli/dists/) =~ $CLI_REPO ]]; then | ||
DIST=$(lsb_release -is) | ||
if [[ $DIST =~ "Ubuntu" ]]; then | ||
CLI_REPO="jammy" | ||
elif [[ $DIST =~ "Debian" ]]; then | ||
CLI_REPO="bookworm" | ||
elif [[ $DIST =~ "LinuxMint" ]]; then | ||
CLI_REPO=$(cat /etc/os-release | grep -Po 'UBUNTU_CODENAME=\K.*') || true | ||
if [[ -z $CLI_REPO ]]; then | ||
echo $ERROR_MSG | ||
exit 1 | ||
fi | ||
else | ||
echo $ERROR_MSG | ||
exit 1 | ||
fi | ||
fi | ||
else | ||
CLI_REPO=$DIST_CODE | ||
if [[ ! $(curl -sL https://packages.microsoft.com/repos/azure-cli/dists/) =~ $CLI_REPO ]]; then | ||
echo "Unable to find an azure-cli package with DIST_CODE=$CLI_REPO in https://packages.microsoft.com/repos/azure-cli/dists/." | ||
exit 1 | ||
fi | ||
fi | ||
echo "deb [arch=$(dpkg --print-architecture)] https://packages.microsoft.com/repos/azure-cli/ ${CLI_REPO} main" \ | ||
> /etc/apt/sources.list.d/azure-cli.list | ||
apt-get update | ||
set +v | ||
|
||
assert_consent "Install the Azure CLI?" ${global_consent} | ||
apt-get install -y azure-cli | ||
|
||
} | ||
|
||
setup # ensure the whole file is downloaded before executing |