.appveyor.yml 8.2 KB

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