From 0d9b0822aea726705078fd62f651d53858ca4b06 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov <47745270+al-cheb@users.noreply.github.com> Date: Wed, 20 May 2020 09:31:27 +0300 Subject: [PATCH] update PyPy download source (#901) --- images/linux/scripts/installers/pypy.sh | 6 +++--- images/win/scripts/Installers/Install-PyPy.ps1 | 18 ++++++++---------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/images/linux/scripts/installers/pypy.sh b/images/linux/scripts/installers/pypy.sh index 68ccc7036..d6e36a28b 100644 --- a/images/linux/scripts/installers/pypy.sh +++ b/images/linux/scripts/installers/pypy.sh @@ -74,8 +74,8 @@ function InstallPyPy function getPyPyVersions { - uri="https://api.bitbucket.org/2.0/repositories/pypy/pypy/downloads?pagelen=100" - curl -s -N $uri | jq -r ".values[].links.self.href|select(contains(\"linux64\"))" + uri="https://downloads.python.org/pypy/" + wget -q -O - $uri | gunzip -c | grep 'linux64' | awk -v uri="$uri" -F'>|<' '{print uri$5}' } # Installation PyPy @@ -84,7 +84,7 @@ toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json" toolsetVersions=$(cat $toolsetJson | jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]') for toolsetVersion in $toolsetVersions; do - latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+-" | head -1) + latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1) if [[ -z "$latestMajorPyPyVersion" ]]; then echo "Failed to get PyPy version '$toolsetVersion'" diff --git a/images/win/scripts/Installers/Install-PyPy.ps1 b/images/win/scripts/Installers/Install-PyPy.ps1 index 10e55c2ed..598752a5a 100644 --- a/images/win/scripts/Installers/Install-PyPy.ps1 +++ b/images/win/scripts/Installers/Install-PyPy.ps1 @@ -3,13 +3,15 @@ ## Team: CI-Build ## Desc: Install PyPy ################################################################################ - function Get-PyPyVersions { - $uri = "https://api.bitbucket.org/2.0/repositories/pypy/pypy/downloads?pagelen=100" + $uri = "https://downloads.python.org/pypy/" try { - (Invoke-RestMethod -Uri $uri).Values + $hrefs = (Invoke-WebRequest -Uri $uri).Links.href + $hrefs | Where-Object {$_ -match '^pypy'} | Select-Object @{n = "Name"; e = {$_}}, @{n = "href"; e = { + [string]::Join('', ($uri, $_)) + }} } catch { @@ -17,7 +19,6 @@ function Get-PyPyVersions exit 1 } } - function Install-PyPy { param( @@ -97,17 +98,14 @@ foreach($pypyTool in $pypyTools) { # Query latest PyPy version $filter = '{0}{1}-*-{2}.zip' -f $pypyTool.name, $pypyVersion, $pypyTool.platform - $latestMajorPyPyVersion = $pypyVersions | Where-Object { - $_.name -like $filter -and $_.name.Split('-')[1].Substring(1) -as [System.Version] - } | Sort-Object {[System.Version]$_.name.Split('-')[1].Substring(1)} | Select-Object -Last 1 + $latestMajorPyPyVersion = $pypyVersions | Where-Object {$_.name -like $filter} | Select-Object -First 1 if ($latestMajorPyPyVersion) { $packageName = $latestMajorPyPyVersion.name - $packageDate = $latestMajorPyPyVersion.created_on - Write-Host "Found PyPy '$packageName' package created on '$packageDate'" - $url = $latestMajorPyPyVersion.links.self.href + Write-Host "Found PyPy '$packageName' package" + $url = $latestMajorPyPyVersion.href $tempPyPyPackagePath = Start-DownloadWithRetry -Url $url -Name $packageName Install-PyPy -PackagePath $tempPyPyPackagePath -Architecture $pypyTool.arch }