.appveyor.yml 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  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. $lname0 = 'zlib-' + $env:ZLIB_VER + '-' + $env:VC + '-' + $env:ARCH + '.zip'
  24. $lname1 = 'zlib'
  25. if (-not (Test-Path c:\build-cache\$lname0)) {
  26. $zliurl = "https://windows.php.net/downloads/php-sdk/deps/" + $env:VC + "/" + $env:ARCH+ "/" + $lname0
  27. Invoke-WebRequest $zliurl -OutFile "c:\build-cache\$lname0"
  28. }
  29. if (-not (Test-Path c:\build-cache\$lname1)) {
  30. & 7z x c:\build-cache\$lname0 -oc:\build-cache\$lname1
  31. }
  32. cache:
  33. c:\build-cache -> .appveyor.yml
  34. environment:
  35. BIN_SDK_VER: 2.1.2
  36. matrix:
  37. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  38. ARCH: x64
  39. VC: vc14
  40. PHP_VER: 7.0.28
  41. ZLIB_VER: 1.2.8
  42. TS: 0
  43. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  44. ARCH: x64
  45. VC: vc14
  46. PHP_VER: 7.0.28
  47. ZLIB_VER: 1.2.8
  48. TS: 1
  49. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  50. ARCH: x86
  51. VC: vc14
  52. PHP_VER: 7.0.28
  53. ZLIB_VER: 1.2.8
  54. TS: 0
  55. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  56. ARCH: x86
  57. VC: vc14
  58. PHP_VER: 7.0.28
  59. ZLIB_VER: 1.2.8
  60. TS: 1
  61. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  62. ARCH: x64
  63. VC: vc14
  64. PHP_VER: 7.1.15
  65. ZLIB_VER: 1.2.8
  66. TS: 0
  67. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  68. ARCH: x64
  69. VC: vc14
  70. PHP_VER: 7.1.15
  71. ZLIB_VER: 1.2.8
  72. TS: 1
  73. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  74. ARCH: x86
  75. VC: vc14
  76. PHP_VER: 7.1.15
  77. ZLIB_VER: 1.2.8
  78. TS: 0
  79. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  80. ARCH: x86
  81. VC: vc14
  82. PHP_VER: 7.1.15
  83. ZLIB_VER: 1.2.8
  84. TS: 1
  85. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  86. ARCH: x64
  87. VC: vc15
  88. PHP_VER: 7.2.3
  89. ZLIB_VER: 1.2.11
  90. TS: 0
  91. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  92. ARCH: x64
  93. VC: vc15
  94. PHP_VER: 7.2.3
  95. ZLIB_VER: 1.2.11
  96. TS: 1
  97. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  98. ARCH: x86
  99. VC: vc15
  100. PHP_VER: 7.2.3
  101. ZLIB_VER: 1.2.11
  102. TS: 0
  103. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  104. ARCH: x86
  105. VC: vc15
  106. PHP_VER: 7.2.3
  107. ZLIB_VER: 1.2.11
  108. TS: 1
  109. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  110. ARCH: x64
  111. VC: vc15
  112. PHP_VER: 7.3.0
  113. ZLIB_VER: 1.2.11
  114. TS: 0
  115. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  116. ARCH: x64
  117. VC: vc15
  118. PHP_VER: 7.3.0
  119. ZLIB_VER: 1.2.11
  120. TS: 1
  121. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  122. ARCH: x86
  123. VC: vc15
  124. PHP_VER: 7.3.0
  125. ZLIB_VER: 1.2.11
  126. TS: 0
  127. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  128. ARCH: x86
  129. VC: vc15
  130. PHP_VER: 7.3.0
  131. ZLIB_VER: 1.2.11
  132. TS: 1
  133. build_script:
  134. ps: |
  135. $ts_part = ''
  136. if ('0' -eq $env:TS) { $ts_part = '-nts' }
  137. $bname = 'php-devel-pack-' + $env:PHP_VER + $ts_part + '-Win32-' + $env:VC.toUpper() + '-' + $env:ARCH + '.zip'
  138. if (-not (Test-Path c:\build-cache\$bname)) {
  139. Invoke-WebRequest "http://windows.php.net/downloads/releases/archives/$bname" -OutFile "c:\build-cache\$bname"
  140. if (-not (Test-Path c:\build-cache\$bname)) {
  141. Invoke-WebRequest "http://windows.php.net/downloads/releases/$bname" -OutFile "c:\build-cache\$bname"
  142. }
  143. }
  144. $dname0 = 'php-' + $env:PHP_VER + '-devel-' + $env:VC.toUpper() + '-' + $env:ARCH
  145. $dname1 = 'php-' + $env:PHP_VER + $ts_part + '-devel-' + $env:VC.toUpper() + '-' + $env:ARCH
  146. if (-not (Test-Path c:\build-cache\$dname1)) {
  147. 7z x c:\build-cache\$bname -oc:\build-cache
  148. move c:\build-cache\$dname0 c:\build-cache\$dname1
  149. }
  150. cd c:\projects\xlswriter
  151. $env:PATH = 'c:\build-cache\' + $dname1 + ';' + $env:PATH
  152. #echo "@echo off" | Out-File -Encoding "ASCII" task.bat
  153. #echo "" | Out-File -Encoding "ASCII" -Append task.bat
  154. echo "" | Out-File -Encoding "ASCII" task.bat
  155. echo "call git submodule update --init 2>&1" | Out-File -Encoding "ASCII" -Append task.bat
  156. echo "call phpize 2>&1" | Out-File -Encoding "ASCII" -Append task.bat
  157. $conf_cmd = 'call configure --with-xlswriter --with-extra-libs=c:\build-cache\zlib\lib --with-extra-includes=c:\build-cache\zlib\include --enable-debug-pack 2>&1'
  158. echo $conf_cmd | Out-File -Encoding "ASCII" -Append task.bat
  159. echo "nmake /nologo 2>&1" | Out-File -Encoding "ASCII" -Append task.bat
  160. echo "exit %errorlevel%" | Out-File -Encoding "ASCII" -Append task.bat
  161. $here = (Get-Item -Path "." -Verbose).FullName
  162. $runner = 'c:\build-cache\php-sdk-' + $env:BIN_SDK_VER + '\phpsdk' + '-' + $env:VC + '-' + $env:ARCH + '.bat'
  163. $task = $here + '\task.bat'
  164. & $runner -t $task
  165. after_build:
  166. ps: |
  167. $ts_part = 'ts'
  168. if ('0' -eq $env:TS) { $ts_part = 'nts' }
  169. $zip_bname = 'php_xlswriter-' + $env:APPVEYOR_REPO_COMMIT.substring(0, 8) + '-' + $env:PHP_VER.substring(0, 3) + '-' + $ts_part + '-' + $env:VC + '-' + $env:ARCH + '.zip'
  170. $dir = 'c:\projects\xlswriter\';
  171. if ('x64' -eq $env:ARCH) { $dir = $dir + 'x64\' }
  172. $dir = $dir + 'Release'
  173. if ('1' -eq $env:TS) { $dir = $dir + '_TS' }
  174. & 7z a c:\$zip_bname $dir\php_xlswriter.dll c:\projects\xlswriter\LICENSE c:\build-cache\zlib\lib\zlib.lib c:\build-cache\zlib\lib\zlib.pdb
  175. Push-AppveyorArtifact c:\$zip_bname
  176. test_script:
  177. ps: |
  178. $ts_part = ''
  179. if ('0' -eq $env:TS) { $ts_part = '-nts' }
  180. $bname = 'php-' + $env:PHP_VER + $ts_part + '-Win32-' + $env:VC.toUpper() + '-' + $env:ARCH + '.zip'
  181. if (-not (Test-Path c:\build-cache\$bname)) {
  182. Invoke-WebRequest "http://windows.php.net/downloads/releases/archives/$bname" -OutFile "c:\build-cache\$bname"
  183. if (-not (Test-Path c:\build-cache\$bname)) {
  184. Invoke-WebRequest "http://windows.php.net/downloads/releases/$bname" -OutFile "c:\build-cache\$bname"
  185. }
  186. }
  187. $dname = 'php-' + $env:PHP_VER + $ts_part + '-' + $env:VC.toUpper() + '-' + $env:ARCH
  188. if (-not (Test-Path c:\build-cache\$dname)) {
  189. 7z x c:\build-cache\$bname -oc:\build-cache\$dname
  190. }
  191. cd c:\projects\xlswriter
  192. echo "" | Out-File -Encoding "ASCII" task.bat
  193. echo "set REPORT_EXIT_STATUS=1" | Out-File -Encoding "ASCII" -Append task.bat
  194. $cmd = 'call configure --with-xlswriter --with-extra-libs=c:\build-cache\zlib\lib --with-extra-includes=c:\build-cache\zlib\include --with-prefix=c:\build-cache\' + $dname + ' 2>&1'
  195. echo $cmd | Out-File -Encoding "ASCII" -Append task.bat
  196. echo 'nmake /nologo test TESTS="-q --show-diff --set-timeout 120" 2>&1' | Out-File -Encoding "ASCII" -Append task.bat
  197. echo "exit %errorlevel%" | Out-File -Encoding "ASCII" -Append task.bat
  198. $here = (Get-Item -Path "." -Verbose).FullName
  199. $runner = 'c:\build-cache\php-sdk-' + $env:BIN_SDK_VER + '\phpsdk' + '-' + $env:VC + '-' + $env:ARCH + '.bat'
  200. $task = $here + '\task.bat'
  201. & $runner -t $task