Browse Source

Merge pull request #25248 from abpframework/auto-merge/rel-10-3/4487

Merge branch dev with rel-10.3
pull/25251/head
Volosoft Agent 3 weeks ago
committed by GitHub
parent
commit
0444566dd2
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 51
      nupkg/push-nightly-packages-myget.ps1
  2. 38
      nupkg/push_packages.ps1

51
nupkg/push-nightly-packages-myget.ps1

@ -13,4 +13,53 @@ if (!$apikey)
$apikey = "dummy"
}
dotnet nuget push '*.nupkg' -s $source --skip-duplicate --api-key $apikey
$maxRetryCount = 3
$retryDelaysInSeconds = @(30, 60, 120)
$failedPackages = @()
$packages = Get-ChildItem -Filter *.nupkg | Sort-Object Name
foreach ($package in $packages)
{
$packageName = $package.Name
Write-Host "Pushing nightly package: $packageName"
$attempt = 0
$pushSucceeded = $false
while ($true)
{
$attempt += 1
$pushOutput = dotnet nuget push $packageName -s $source --skip-duplicate --api-key $apikey 2>&1
$pushOutput | ForEach-Object { Write-Host $_ }
$pushSucceeded = $LASTEXITCODE -eq 0
if ($pushSucceeded)
{
break
}
$clientError = ($pushOutput | Out-String) -match "Response status code does not indicate success:\s*4\d\d"
$canRetry = $clientError -and $attempt -le $maxRetryCount
if (-not $canRetry)
{
break
}
$retryDelay = $retryDelaysInSeconds[$attempt - 1]
Write-Warning "NuGet push returned a 4xx response for $packageName. Retrying in $retryDelay seconds (retry $attempt/$maxRetryCount)..."
Start-Sleep -Seconds $retryDelay
}
if (-not $pushSucceeded)
{
Write-Host ("********** ERROR PUSH FAILED: " + $packageName) -ForegroundColor red
$failedPackages += $packageName
}
}
if ($failedPackages.Count -gt 0)
{
$errorCount = $failedPackages.Count
Write-Host ("******* $errorCount error(s) occured *******") -ForegroundColor red
exit 1
}

38
nupkg/push_packages.ps1

@ -9,8 +9,11 @@ $version = $commonPropsXml.Project.PropertyGroup.Version
# Publish all packages
$i = 0
$errorCount = 0
$failedPackages = @()
$totalProjectsCount = $projects.length
$nugetUrl = "https://api.nuget.org/v3/index.json"
$maxQuotaRetryCount = 3
$quotaRetryDelaysInSeconds = @(30, 60, 120)
Set-Location $packFolder
foreach($project in $projects) {
@ -24,7 +27,39 @@ foreach($project in $projects) {
if ($nugetPackageExists)
{
dotnet nuget push $nugetPackageName --skip-duplicate -s $nugetUrl --api-key "$apiKey"
$attempt = 0
$pushSucceeded = $false
while ($true)
{
$attempt += 1
$pushOutput = dotnet nuget push $nugetPackageName --skip-duplicate -s $nugetUrl --api-key "$apiKey" 2>&1
$pushOutput | ForEach-Object { Write-Host $_ }
$pushSucceeded = $LASTEXITCODE -eq 0
if ($pushSucceeded)
{
break
}
$clientError = ($pushOutput | Out-String) -match "Response status code does not indicate success:\s*4\d\d"
$canRetry = $clientError -and $attempt -le $maxQuotaRetryCount
if (-not $canRetry)
{
break
}
$retryDelay = $quotaRetryDelaysInSeconds[$attempt - 1]
Write-Warning "NuGet push returned a 4xx response for $nugetPackageName. Retrying in $retryDelay seconds (retry $attempt/$maxQuotaRetryCount)..."
Start-Sleep -Seconds $retryDelay
}
if (-not $pushSucceeded)
{
Write-Host ("********** ERROR PUSH FAILED: " + $nugetPackageName) -ForegroundColor red
$errorCount += 1
$failedPackages += $nugetPackageName
}
#Write-Host ("Deleting package from local: " + $nugetPackageName)
#Remove-Item $nugetPackageName -Force
}
@ -41,4 +76,5 @@ foreach($project in $projects) {
if ($errorCount > 0)
{
Write-Host ("******* $errorCount error(s) occured *******") -ForegroundColor red
exit 1
}

Loading…
Cancel
Save