podman
63 строки · 1.6 Кб
1function SkipExists {
2param(
3[Parameter(Mandatory)]
4[string]$url,
5[Parameter(Mandatory)]
6[string]$desc
7)
8try {
9Invoke-WebRequest -Method HEAD -UseBasicParsing -ErrorAction Stop -Uri $url
10Write-Host "$desc already uploaded, skipping..."
11Exit 2
12} Catch {
13if ($_.Exception.Response.StatusCode -eq 404) {
14Write-Host "$desc does not exist, continuing..."
15Return
16}
17
18throw $_.Exception
19}
20}
21
22function SkipNotExists {
23param(
24[Parameter(Mandatory)]
25[string]$url,
26[Parameter(Mandatory)]
27[string]$desc
28)
29$ret = ""
30try {
31Invoke-WebRequest -Method HEAD -UseBasicParsing -ErrorAction Stop -Uri $url
32Write-Host "$desc exists, continuing..."
33} Catch {
34if ($_.Exception.Response.StatusCode -eq 404) {
35Write-Host "$desc does not exist, skipping ..."
36Exit 2
37}
38
39throw $_.Exception
40}
41}
42
43if ($args.Count -lt 1 -or $args[0].Length -lt 2) {
44Write-Host "Usage: " $MyInvocation.MyCommand.Name "<version>"
45Exit 1
46}
47
48$release = $args[0]
49$version = $release
50if ($release[0] -eq "v") {
51$version = $release.Substring(1)
52} else {
53$release = "v$release"
54}
55
56$base_url = "$ENV:FETCH_BASE_URL"
57if ($base_url.Length -le 0) {
58$base_url = "https://github.com/containers/podman"
59}
60
61$ENV:UPLOAD_ASSET_NAME = "podman-$version-setup.exe"
62SkipExists "$base_url/releases/download/$release/podman-$version-setup.exe" "Installer"
63SkipNotExists "$base_url/releases/download/$release/podman-remote-release-windows_amd64.zip" "Windows client zip"
64