TeamCity: prefer go rc builds over beta (#2619)
Works around https://github.com/golang/go/issues/47367.
This commit is contained in:
parent
aaed14ffcb
commit
150ef04177
@ -2,10 +2,12 @@
|
|||||||
import json
|
import json
|
||||||
import urllib
|
import urllib
|
||||||
import sys
|
import sys
|
||||||
|
from distutils.version import LooseVersion
|
||||||
|
|
||||||
ver = sys.argv[1]
|
ver = sys.argv[1]
|
||||||
d = json.loads(urllib.urlopen('https://golang.org/dl/?mode=json&include=all').read())
|
d = json.loads(urllib.urlopen('https://golang.org/dl/?mode=json&include=all').read())
|
||||||
for x in d:
|
ds = sorted(d, reverse=True, key=lambda it: LooseVersion(it['version'][2:]))
|
||||||
|
for x in ds:
|
||||||
if x['version'][:len(ver)] == ver:
|
if x['version'][:len(ver)] == ver:
|
||||||
print x['version']
|
print x['version']
|
||||||
exit(0)
|
exit(0)
|
||||||
|
|||||||
@ -31,7 +31,7 @@ if [ "$version" = "gotip" ]; then
|
|||||||
cd -
|
cd -
|
||||||
else
|
else
|
||||||
echo Finding latest patch version for $version
|
echo Finding latest patch version for $version
|
||||||
version=$(curl 'https://golang.org/dl/?mode=json&include=all' | jq '.[].version' --raw-output | egrep ^$version'($|\.|beta|rc)' | head -1)
|
version=$(curl 'https://golang.org/dl/?mode=json&include=all' | jq '.[].version' --raw-output | egrep ^$version'($|\.|beta|rc)' | sort -rV | head -1)
|
||||||
echo "Go $version on $arch"
|
echo "Go $version on $arch"
|
||||||
getgo $version
|
getgo $version
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -50,9 +50,16 @@ if ($version -eq "gotip") {
|
|||||||
} else {
|
} else {
|
||||||
# Install Go
|
# Install Go
|
||||||
Write-Host "Finding latest patch version for $version"
|
Write-Host "Finding latest patch version for $version"
|
||||||
$version = Invoke-WebRequest -Uri 'https://golang.org/dl/?mode=json&include=all' -UseBasicParsing | foreach {$_.Content} | ConvertFrom-Json | foreach {$_.version} | Select-String -Pattern "^$version($|\.|beta|rc)" | Select-Object -First 1 | foreach {$_.Line}
|
$versions = Invoke-WebRequest -Uri 'https://golang.org/dl/?mode=json&include=all' -UseBasicParsing | foreach {$_.Content} | ConvertFrom-Json
|
||||||
Write-Host "Go $version on $arch"
|
$v = $versions | foreach {$_.version} | Select-String -Pattern "^$version($|\.)" | Sort-Object -Descending | Select-Object -First 1
|
||||||
GetGo $version
|
if ($v -eq $null) {
|
||||||
|
$v = $versions | foreach {$_.version} | Select-String -Pattern "^$version(rc)" | Sort-Object -Descending | Select-Object -First 1
|
||||||
|
}
|
||||||
|
if ($v -eq $null) {
|
||||||
|
$v = $versions | foreach {$_.version} | Select-String -Pattern "^$version(beta)" | Sort-Object -Descending | Select-Object -First 1
|
||||||
|
}
|
||||||
|
Write-Host "Go $v on $arch"
|
||||||
|
GetGo $v
|
||||||
}
|
}
|
||||||
|
|
||||||
$env:GOPATH = "C:\gopath"
|
$env:GOPATH = "C:\gopath"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user