summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2015-08-07 19:48:06 +0100
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2015-08-12 18:27:20 +0100
commit9aa0f85cdacff59180cde416d5b10406cff1bda1 (patch)
tree9094fa5e656754e5a68e14225e00c002feaa16e9
parent834a93f449bae04602c822cf8fd087814069772e (diff)
downloadswig-9aa0f85cdacff59180cde416d5b10406cff1bda1.tar.gz
Workaround Appveyor random failures due to nuget install errors
Add and use nuget-install.cmd based on https://github.com/appveyor/ci/blob/master/scripts/nuget-restore.cmd
-rw-r--r--Tools/nuget-install.cmd28
-rw-r--r--appveyor.yml2
2 files changed, 29 insertions, 1 deletions
diff --git a/Tools/nuget-install.cmd b/Tools/nuget-install.cmd
new file mode 100644
index 000000000..08caea7e0
--- /dev/null
+++ b/Tools/nuget-install.cmd
@@ -0,0 +1,28 @@
+rem Workaround 'nuget install' not being reliable by retrying a few times
+
+@echo off
+rem initiate the retry number
+set errorCode=1
+set retryNumber=0
+set maxRetries=5
+
+:RESTORE
+nuget install %*
+
+rem problem?
+IF ERRORLEVEL %errorCode% GOTO :RETRY
+
+rem everything is fine!
+GOTO :EXIT
+
+:RETRY
+@echo Oops, nuget restore exited with code %errorCode% - let us try again!
+set /a retryNumber=%retryNumber%+1
+IF %reTryNumber% LSS %maxRetries% (GOTO :RESTORE)
+IF %retryNumber% EQU %maxRetries% (GOTO :ERR)
+
+:ERR
+@echo Sorry, we tried restoring nuget packages for %maxRetries% times and all attempts were unsuccessful!
+EXIT /B 1
+
+:EXIT
diff --git a/appveyor.yml b/appveyor.yml
index dc96d0bca..1e60c37d4 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -46,7 +46,7 @@ install:
- ps: $env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS"))
- echo "Using Visual Studio %VSVER%.0 at %VSCOMNTOOLS%"
- call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM%
-- nuget install pcre -Verbosity detailed -Version 8.33.0.1 -OutputDirectory C:\pcre
+- Tools\nuget-install.cmd pcre -Verbosity detailed -Version 8.33.0.1 -OutputDirectory C:\pcre
- set PCRE_ROOT=C:/pcre/pcre.8.33.0.1/build/native
- set PATH=C:\Python%VER%%LANG_PLATFORM%;%PATH%
- python -V