.appveyor.yml 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. version: "{branch}.build.{build}"
  2. skip_tags: true
  3. branches:
  4. only:
  5. - master
  6. - dev
  7. clone_folder: c:\projects\xlswriter
  8. install:
  9. ps: |
  10. if (-not (Test-Path c:\build-cache)) {
  11. mkdir c:\build-cache
  12. }
  13. $bname = 'php-sdk-' + $env:BIN_SDK_VER + '.zip'
  14. if (-not (Test-Path c:\build-cache\$bname)) {
  15. Invoke-WebRequest "https://github.com/OSTC/php-sdk-binary-tools/archive/$bname" -OutFile "c:\build-cache\$bname"
  16. }
  17. $dname0 = 'php-sdk-binary-tools-php-sdk-' + $env:BIN_SDK_VER
  18. $dname1 = 'php-sdk-' + $env:BIN_SDK_VER
  19. if (-not (Test-Path c:\build-cache\$dname1)) {
  20. 7z x c:\build-cache\$bname -oc:\build-cache
  21. move c:\build-cache\$dname0 c:\build-cache\$dname1
  22. }
  23. cache:
  24. c:\build-cache -> .appveyor.yml
  25. environment:
  26. BIN_SDK_VER: 2.1.2
  27. LIBCMARK_VER: 0.28.3
  28. matrix:
  29. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  30. ARCH: x64
  31. VC: vc14
  32. PHP_VER: 7.0.28
  33. TS: 0
  34. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  35. ARCH: x64
  36. VC: vc14
  37. PHP_VER: 7.0.28
  38. TS: 1
  39. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  40. ARCH: x86
  41. VC: vc14
  42. PHP_VER: 7.0.28
  43. TS: 0
  44. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  45. ARCH: x86
  46. VC: vc14
  47. PHP_VER: 7.0.28
  48. TS: 1
  49. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  50. ARCH: x64
  51. VC: vc14
  52. PHP_VER: 7.1.15
  53. TS: 0
  54. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  55. ARCH: x64
  56. VC: vc14
  57. PHP_VER: 7.1.15
  58. TS: 1
  59. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  60. ARCH: x86
  61. VC: vc14
  62. PHP_VER: 7.1.15
  63. TS: 0
  64. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  65. ARCH: x86
  66. VC: vc14
  67. PHP_VER: 7.1.15
  68. TS: 1
  69. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  70. ARCH: x64
  71. VC: vc15
  72. PHP_VER: 7.2.3
  73. TS: 0
  74. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  75. ARCH: x64
  76. VC: vc15
  77. PHP_VER: 7.2.3
  78. TS: 1
  79. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  80. ARCH: x86
  81. VC: vc15
  82. PHP_VER: 7.2.3
  83. TS: 0
  84. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  85. ARCH: x86
  86. VC: vc15
  87. PHP_VER: 7.2.3
  88. TS: 1
  89. build_script:
  90. ps: |
  91. $ts_part = ''
  92. if ('0' -eq $env:TS) { $ts_part = '-nts' }
  93. $bname = 'php-devel-pack-' + $env:PHP_VER + $ts_part + '-Win32-' + $env:VC.toUpper() + '-' + $env:ARCH + '.zip'
  94. if (-not (Test-Path c:\build-cache\$bname)) {
  95. Invoke-WebRequest "http://windows.php.net/downloads/releases/archives/$bname" -OutFile "c:\build-cache\$bname"
  96. if (-not (Test-Path c:\build-cache\$bname)) {
  97. Invoke-WebRequest "http://windows.php.net/downloads/releases/$bname" -OutFile "c:\build-cache\$bname"
  98. }
  99. }
  100. $dname0 = 'php-' + $env:PHP_VER + '-devel-' + $env:VC.toUpper() + '-' + $env:ARCH
  101. $dname1 = 'php-' + $env:PHP_VER + $ts_part + '-devel-' + $env:VC.toUpper() + '-' + $env:ARCH
  102. if (-not (Test-Path c:\build-cache\$dname1)) {
  103. 7z x c:\build-cache\$bname -oc:\build-cache
  104. move c:\build-cache\$dname0 c:\build-cache\$dname1
  105. }
  106. cd c:\projects\xlswriter
  107. $env:PATH = 'c:\build-cache\' + $dname1 + ';' + $env:PATH
  108. #echo "@echo off" | Out-File -Encoding "ASCII" task.bat
  109. #echo "" | Out-File -Encoding "ASCII" -Append task.bat
  110. echo "" | Out-File -Encoding "ASCII" task.bat
  111. echo "call phpize 2>&1" | Out-File -Encoding "ASCII" -Append task.bat
  112. $conf_cmd = 'call configure --with-xlswriter 2>&1'
  113. echo $conf_cmd | Out-File -Encoding "ASCII" -Append task.bat
  114. echo "nmake /nologo 2>&1" | Out-File -Encoding "ASCII" -Append task.bat
  115. echo "exit %errorlevel%" | Out-File -Encoding "ASCII" -Append task.bat
  116. $here = (Get-Item -Path "." -Verbose).FullName
  117. $runner = 'c:\build-cache\php-sdk-' + $env:BIN_SDK_VER + '\phpsdk' + '-' + $env:VC + '-' + $env:ARCH + '.bat'
  118. $task = $here + '\task.bat'
  119. & $runner -t $task
  120. after_build:
  121. ps: |
  122. $ts_part = 'ts'
  123. if ('0' -eq $env:TS) { $ts_part = 'nts' }
  124. $zip_bname = 'php_xlswriter-' + $env:APPVEYOR_REPO_COMMIT.substring(0, 8) + '-' + $env:PHP_VER.substring(0, 3) + '-' + $ts_part + '-' + $env:VC + '-' + $env:ARCH + '.zip'
  125. $dir = 'c:\projects\xlswriter\';
  126. if ('x64' -eq $env:ARCH) { $dir = $dir + 'x64\' }
  127. $dir = $dir + 'Release'
  128. if ('1' -eq $env:TS) { $dir = $dir + '_TS' }
  129. & 7z a c:\$zip_bname $dir\php_xlswriter.dll c:\projects\xlswriter\LICENSE
  130. Push-AppveyorArtifact c:\$zip_bname
  131. test_script:
  132. ps: |
  133. $ts_part = ''
  134. if ('0' -eq $env:TS) { $ts_part = '-nts' }
  135. $bname = 'php-' + $env:PHP_VER + $ts_part + '-Win32-' + $env:VC.toUpper() + '-' + $env:ARCH + '.zip'
  136. if (-not (Test-Path c:\build-cache\$bname)) {
  137. Invoke-WebRequest "http://windows.php.net/downloads/releases/archives/$bname" -OutFile "c:\build-cache\$bname"
  138. if (-not (Test-Path c:\build-cache\$bname)) {
  139. Invoke-WebRequest "http://windows.php.net/downloads/releases/$bname" -OutFile "c:\build-cache\$bname"
  140. }
  141. }
  142. $dname = 'php-' + $env:PHP_VER + $ts_part + '-' + $env:VC.toUpper() + '-' + $env:ARCH
  143. if (-not (Test-Path c:\build-cache\$dname)) {
  144. 7z x c:\build-cache\$bname -oc:\build-cache\$dname
  145. }
  146. cd c:\projects\xlswriter
  147. echo "" | Out-File -Encoding "ASCII" task.bat
  148. echo "set REPORT_EXIT_STATUS=1" | Out-File -Encoding "ASCII" -Append task.bat
  149. $cmd = 'call configure --with-xlswriter --with-prefix=c:\build-cache\' + $dname + ' 2>&1'
  150. echo $cmd | Out-File -Encoding "ASCII" -Append task.bat
  151. echo 'nmake /nologo test TESTS="-q --show-diff --set-timeout 120" 2>&1' | Out-File -Encoding "ASCII" -Append task.bat
  152. echo "exit %errorlevel%" | Out-File -Encoding "ASCII" -Append task.bat
  153. $here = (Get-Item -Path "." -Verbose).FullName
  154. $runner = 'c:\build-cache\php-sdk-' + $env:BIN_SDK_VER + '\phpsdk' + '-' + $env:VC + '-' + $env:ARCH + '.bat'
  155. $task = $here + '\task.bat'
  156. & $runner -t $task