.appveyor.yml 10 KB

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